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.
This commit is contained in:
Andrew Burgess
2020-07-15 16:05:24 +01:00
parent 04c662e2b6
commit fe07b5721a
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2020-07-15 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.fortran/ptype-on-functions.exp: Make the result pattern more
generic.
2020-07-15 Tom de Vries <tdevries@suse.de> 2020-07-15 Tom de Vries <tdevries@suse.de>
* gdb.trace/entry-values.exp: Expect "call" instead of "callq" if * gdb.trace/entry-values.exp: Expect "call" instead of "callq" if

View File

@ -45,7 +45,7 @@ gdb_test "ptype fun_ptr" \
"type = PTR TO -> \\( integer\\(kind=4\\) \\(\\) \\(REF TO -> \\( integer\\(kind=4\\) \\)\\) \\)" "type = PTR TO -> \\( integer\\(kind=4\\) \\(\\) \\(REF TO -> \\( integer\\(kind=4\\) \\)\\) \\)"
gdb_test "ptype say_string" \ gdb_test "ptype say_string" \
"type = void \\(character\\*\\(\\*\\), integer\\(kind=8\\)\\)" "type = void \\(character\\*\\(\\*\\), integer\\(kind=\\d+\\)\\)"
gdb_test "ptype say_array" \ gdb_test "ptype say_array" \
"type = void \\(integer\\(kind=4\\) \\(:,:\\)\\)" "type = void \\(integer\\(kind=4\\) \\(:,:\\)\\)"