aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2020-11-10 16:07:36 +0000
committerGary Benson <gbenson@redhat.com>2020-11-10 16:07:36 +0000
commiteb24648c453c28f2898fb599311ba004394a8b41 (patch)
treea19c2c9d7bdf9221f07702c6f2a678e12c9e4adb
parent1f57314183549008c065ad2240598d2b0f0ff56b (diff)
downloadgdb-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/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.cp/step-and-next-inline.exp20
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"