diff options
author | Gary Benson <gbenson@redhat.com> | 2020-11-10 16:07:36 +0000 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2020-11-10 16:07:36 +0000 |
commit | eb24648c453c28f2898fb599311ba004394a8b41 (patch) | |
tree | a19c2c9d7bdf9221f07702c6f2a678e12c9e4adb | |
parent | 1f57314183549008c065ad2240598d2b0f0ff56b (diff) | |
download | gdb-eb24648c453c28f2898fb599311ba004394a8b41.zip gdb-eb24648c453c28f2898fb599311ba004394a8b41.tar.gz gdb-eb24648c453c28f2898fb599311ba004394a8b41.tar.bz2 |
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.
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/step-and-next-inline.exp | 20 |
2 files changed, 23 insertions, 4 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d3e81a2..863dcc4 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -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 diff --git a/gdb/testsuite/gdb.cp/step-and-next-inline.exp b/gdb/testsuite/gdb.cp/step-and-next-inline.exp index a95e211..43a7101 100644 --- a/gdb/testsuite/gdb.cp/step-and-next-inline.exp +++ b/gdb/testsuite/gdb.cp/step-and-next-inline.exp @@ -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" |