[gdb/testsuite] Fix missing uint8_t in gdb.fortran/logical.exp
authorTom de Vries <tdevries@suse.de>
Wed, 11 Mar 2020 12:03:28 +0000 (13:03 +0100)
committerTom de Vries <tdevries@suse.de>
Wed, 11 Mar 2020 12:03:28 +0000 (13:03 +0100)
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.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.fortran/logical.exp
gdb/testsuite/gdb.fortran/logical.f90

index 46442c5e12f5e1faa5e431b5e20feb95dbea0bfb..fce29b64375534567d867fffbf86293816814213 100644 (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.
index 96e6f8f9559c543168fc95287c2c41f6cb512ea8..324714fa49e3ada281f1f4d5c10db59973df4e96 100644 (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
index aea78e70895007fc9c9fe876a24105929a95b400..175dfd1fc5e2f2b0e711a212635c9ed46cf80485 100644 (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