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:
Gary Benson 2020-11-10 16:07:36 +00:00
parent 1f57314183
commit eb24648c45
2 changed files with 23 additions and 4 deletions

View file

@ -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

View file

@ -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"