[gdb/testsuite] Fix missing uint8_t in gdb.fortran/logical.exp

With test-case gdb.fortran/logical.exp, I run into:
...
(gdb) PASS: gdb.fortran/logical.exp: var=l: get hexadecimal valueof "&l"
set *((uint8_t *) 0x7fffffffd2bc) = 0xff^M
No symbol "uint8_t" in current context.^M
(gdb) FAIL: gdb.fortran/logical.exp: var=l: byte 0: set contents of byte at offset 0
...

Fix this by using the fortran-native type character instead.

Tested on x86_64-linux, with gcc 7.5.0.

gdb/testsuite/ChangeLog:

2020-03-11  Tom de Vries  <tdevries@suse.de>

	* gdb.fortran/logical.f90: Define variable with character type.
	* gdb.fortran/logical.exp: Use character type instead of uint8_t.
This commit is contained in:
Tom de Vries
2020-03-11 13:03:28 +01:00
parent dcc050c86c
commit 44f41bb7a1
3 changed files with 8 additions and 1 deletions
+5
View File
@@ -1,3 +1,8 @@
2020-03-11 Tom de Vries <tdevries@suse.de>
* gdb.fortran/logical.f90: Define variable with character type.
* gdb.fortran/logical.exp: Use character type instead of uint8_t.
2020-03-11 Tom de Vries <tdevries@suse.de>
* gdb.base/list-ambiguous.exp: Set EDITOR to true.
+1 -1
View File
@@ -43,7 +43,7 @@ foreach_with_prefix var { l l1 l2 l4 l8 } {
for { set i 0 } { $i < $len } { incr i } {
with_test_prefix "byte $i" {
gdb_test_no_output "set *((uint8_t *) ${addr}) = 0xff" \
gdb_test_no_output "set *((character *) ${addr}) = 0xff" \
"set contents of byte at offset $i"
gdb_test "p l" " = \\.TRUE\\."
incr addr
+2
View File
@@ -21,10 +21,12 @@ program test
logical (kind=2) :: l2
logical (kind=4) :: l4
logical (kind=8) :: l8
character :: c
l = .TRUE.
l1 = .TRUE.
l2 = .TRUE.
l4 = .TRUE.
l8 = .TRUE.
l = .FALSE. ! stop-here
c = 'a'
end