mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-01 13:26:47 +08:00
[gdb/testsuite] Fix fail in gdb.fortran/ptype-on-functions.exp with gcc-7
Since commit 05b8577206
"gdb/fortran: Add type info of formal parameter for
clang" I see:
...
(gdb) ptype say_string^M
type = void (character*(*), integer(kind=4))^M
(gdb) FAIL: gdb.fortran/ptype-on-functions.exp: ptype say_string
...
The part of the commit causing the fail is:
...
gdb_test "ptype say_string" \
- "type = void \\(character\\*\\(\\*\\), integer\\(kind=\\d+\\)\\)"
+ "type = void \\(character\[^,\]+, $integer8\\)"
...
which fails to take into account that for gcc-7 and before, the type for
string length of a string argument is int, not size_t.
Fix this by allowing both $integer8 and $integer4.
Tested on x86_64-linux, with gcc-7 and gcc-10.
gdb/testsuite/ChangeLog:
2021-07-05 Tom de Vries <tdevries@suse.de>
* gdb.fortran/ptype-on-functions.exp: Allow both $integer8 and
$integer4 for size of string length.
This commit is contained in:
parent
99624310dd
commit
2e333e797e
@ -1,3 +1,8 @@
|
||||
2021-07-05 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* gdb.fortran/ptype-on-functions.exp: Allow both $integer8 and
|
||||
$integer4 for size of string length.
|
||||
|
||||
2021-07-03 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* gdb.base/default.exp: Change $_gdb_major to 12.
|
||||
|
@ -33,6 +33,13 @@ set integer4 [fortran_int4]
|
||||
set logical4 [fortran_logical4]
|
||||
set integer8 [fortran_int8]
|
||||
|
||||
# A fortran string parameter is passed as a char *, and an additional
|
||||
# argument str_ for the string length. The type used for the string length
|
||||
# argument is size_t, but for gcc 7 and earlier, the actual type is int
|
||||
# instead ( see
|
||||
# https://gcc.gnu.org/onlinedocs/gfortran/Argument-passing-conventions.html ).
|
||||
set stringlen ($integer8|$integer4)
|
||||
|
||||
if {[test_compiler_info {clang-*}]} {
|
||||
set some_module_class_type "Type number"
|
||||
set some_module_aux_info ", $integer8 \\(10\\)"
|
||||
@ -62,7 +69,7 @@ gdb_test "ptype fun_ptr" \
|
||||
"type = PTR TO -> \\( $integer4 \\(\\) \\(${fun_ptr_arg}\\) \\)"
|
||||
|
||||
gdb_test "ptype say_string" \
|
||||
"type = void \\(character\[^,\]+, $integer8\\)"
|
||||
"type = void \\(character\[^,\]+, $stringlen\\)"
|
||||
|
||||
set say_array_artificial_first_arg ""
|
||||
if {[test_compiler_info {clang-*}]} {
|
||||
|
Loading…
Reference in New Issue
Block a user