From fe07b5721a64a84e36ec63e15638b87655faf1bf Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Wed, 15 Jul 2020 16:05:24 +0100 Subject: [PATCH] gdb/testsuite: Update test pattern in ptype-on-functions.exp It was pointed out that the recently added test gdb.fortran/ptype-on-functions.exp fails on older versions of gfortran. This is because the ABI for passing string lengths changed from a 4-byte to 8-byte value (on some targets). This change is documented here: https://gcc.gnu.org/gcc-8/changes.html. Character variables longer than HUGE(0) elements are now possible on 64-bit targets. Note that this changes the procedure call ABI for all procedures with character arguments on 64-bit targets, as the type of the hidden character length argument has changed. The hidden character length argument is now of type INTEGER(C_SIZE_T). This commit just relaxes the pattern to accept any size of integer for the string length argument. gdb/testsuite/ChangeLog: * gdb.fortran/ptype-on-functions.exp: Make the result pattern more generic. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.fortran/ptype-on-functions.exp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d056485e5a7..9559355905d 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-07-15 Andrew Burgess + + * gdb.fortran/ptype-on-functions.exp: Make the result pattern more + generic. + 2020-07-15 Tom de Vries * gdb.trace/entry-values.exp: Expect "call" instead of "callq" if diff --git a/gdb/testsuite/gdb.fortran/ptype-on-functions.exp b/gdb/testsuite/gdb.fortran/ptype-on-functions.exp index dde6f48b853..9d447530c26 100644 --- a/gdb/testsuite/gdb.fortran/ptype-on-functions.exp +++ b/gdb/testsuite/gdb.fortran/ptype-on-functions.exp @@ -45,7 +45,7 @@ gdb_test "ptype fun_ptr" \ "type = PTR TO -> \\( integer\\(kind=4\\) \\(\\) \\(REF TO -> \\( integer\\(kind=4\\) \\)\\) \\)" gdb_test "ptype say_string" \ - "type = void \\(character\\*\\(\\*\\), integer\\(kind=8\\)\\)" + "type = void \\(character\\*\\(\\*\\), integer\\(kind=\\d+\\)\\)" gdb_test "ptype say_array" \ "type = void \\(integer\\(kind=4\\) \\(:,:\\)\\)" -- 2.30.2