[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 and clang 5.0.2. gdb/testsuite/ChangeLog: 2020-03-04 Tom de Vries * gdb.fortran/logical.f90: Define variable with character type. * gdb.fortran/logical.exp: Use character type instead of uint8_t. --- gdb/testsuite/gdb.fortran/logical.exp | 2 +- gdb/testsuite/gdb.fortran/logical.f90 | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/gdb.fortran/logical.exp b/gdb/testsuite/gdb.fortran/logical.exp index 96e6f8f955..324714fa49 100644 --- a/gdb/testsuite/gdb.fortran/logical.exp +++ b/gdb/testsuite/gdb.fortran/logical.exp @@ -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 diff --git a/gdb/testsuite/gdb.fortran/logical.f90 b/gdb/testsuite/gdb.fortran/logical.f90 index aea78e7089..175dfd1fc5 100644 --- a/gdb/testsuite/gdb.fortran/logical.f90 +++ b/gdb/testsuite/gdb.fortran/logical.f90 @@ -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