Skip to content

Commit 9727f26

Browse files
committed
[gdb/testsuite] Fix gdb.base/ptype.exp with gcc 15
With test-case gdb.base/ptype.exp and gcc 15 I run into: ... (gdb) ptype old_fptr^M type = double (*)(void)^M (gdb) FAIL: $exp: ptype old_fptr (compiler doesn't emit unprototyped types) ... Since C23, non-prototype function declarations are no longer supported, so "double (*old_fptr) ()" is interpreted as "double (*old_fptr) (void)". We could try to fix this by detecting the language dialect used, and accepting the output in that case, but that feels fragile. We could try to fix this by hard-coding the language dialect, but that doesn't work for all compilers. So instead, we opt for the simplest solution: just accept this output, and produce a pass. Tested on aarch64-linux. Approved-By: Tom Tromey <[email protected]> PR testsuite/32756 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32756
1 parent 1126089 commit 9727f26

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

gdb/testsuite/gdb.base/ptype.exp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -544,10 +544,10 @@ proc ptype_maybe_prototyped { id prototyped plain { overprototyped "NO-MATCH" }
544544
fail "ptype $id (compiler doesn't emit prototyped types)"
545545
}
546546
-re "type = $overprototyped\[\r\n\]+$gdb_prompt $" {
547-
if { [test_compiler_info "armcc-*"] } {
548-
setup_xfail "*-*-*"
549-
}
550-
fail "ptype $id (compiler doesn't emit unprototyped types)"
547+
# C23 no longer supports non-prototype function declaration, in which
548+
# case the overprototyped regexp is the expected one. Simply pass
549+
# in all cases.
550+
pass "ptype $id (overprototyped)"
551551
}
552552
}
553553
}

0 commit comments

Comments
 (0)