Fix gdb.cp/step-and-next-inline.exp with Clang
Clang fails to compile gdb.cp/step-and-next-inline.cc, with the following error: clang-12: error: unknown argument: '-gstatement-frontiers' compiler exited with status 1 This commit fixes the testcase by only passing -gstatement-frontiers when building with GCC. This commit also alters two checks marked as known failures, to mark them as known failures only when built using GCC. gdb/testsuite/ChangeLog: * gdb.cp/step-and-next-inline.exp: Only require -gstatement-frontiers when building with GCC. Only setup KFAIL's for GCC issues when using a GCC-built executable.
This commit is contained in:
parent
1f57314183
commit
eb24648c45
2 changed files with 23 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
|||
2020-11-10 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* gdb.cp/step-and-next-inline.exp: Only require
|
||||
-gstatement-frontiers when building with GCC.
|
||||
Only setup KFAIL's for GCC issues when using
|
||||
a GCC-built executable.
|
||||
|
||||
2020-11-06 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* gdb.base/debug-expr.c: Add extra function to allow for an
|
||||
|
|
|
@ -15,7 +15,12 @@
|
|||
|
||||
standard_testfile .cc
|
||||
|
||||
if { ![supports_statement_frontiers] } {
|
||||
if [get_compiler_info "c++"] {
|
||||
unsupported "couldn't find a valid c++ compiler"
|
||||
return -1
|
||||
}
|
||||
|
||||
if {[test_compiler_info gcc*] && ![supports_statement_frontiers] } {
|
||||
return -1
|
||||
}
|
||||
|
||||
|
@ -31,7 +36,10 @@ proc do_test { use_header } {
|
|||
return
|
||||
}
|
||||
|
||||
set options {c++ debug nowarnings optimize=-O2\ -gstatement-frontiers}
|
||||
set options {c++ debug nowarnings optimize=-O2}
|
||||
if { [supports_statement_frontiers] } {
|
||||
lappend options -gstatement-frontiers
|
||||
}
|
||||
if { $use_header } {
|
||||
lappend options additional_flags=-DUSE_NEXT_INLINE_H
|
||||
set executable "$testfile-with-header"
|
||||
|
@ -65,14 +73,18 @@ proc do_test { use_header } {
|
|||
# that some easier heuristic could be figured out). Still, it is
|
||||
# not certain that the first failure wouldn't also be fixed by
|
||||
# having location view support, so for now it is tagged as such.
|
||||
if {!$use_header} { setup_kfail "*-*-*" symtab/25507 }
|
||||
if {[test_compiler_info gcc*] && !$use_header} {
|
||||
setup_kfail "*-*-*" symtab/25507
|
||||
}
|
||||
gdb_test "next" ".*TREE_TYPE.*" "next step 1"
|
||||
gdb_test "bt" "\\s*\\#0\\s+get_alias_set\[^\r\]*${srcfile}:.*" \
|
||||
"not in inline 2"
|
||||
gdb_test "next" ".*TREE_TYPE.*" "next step 2"
|
||||
gdb_test "bt" "\\s*\\#0\\s+get_alias_set\[^\r\]*${srcfile}:.*" \
|
||||
"not in inline 3"
|
||||
if {!$use_header} { setup_kfail "*-*-*" symtab/25507 }
|
||||
if {[test_compiler_info gcc*] && !$use_header} {
|
||||
setup_kfail "*-*-*" symtab/25507
|
||||
}
|
||||
gdb_test "next" ".*TREE_TYPE.*" "next step 3"
|
||||
gdb_test "bt" "\\s*\\#0\\s+get_alias_set\[^\r\]*${srcfile}:.*" \
|
||||
"not in inline 4"
|
||||
|
|
Loading…
Add table
Reference in a new issue