From 2ac70237d2458fb2eb5e73de6bb02a396b5bada0 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Sat, 14 Mar 2020 10:41:46 +0100 Subject: [PATCH] [gdb/testsuite] Fix unrecognized debug output level 'statement-frontiers' message When running testcase gdb.cp/step-and-next-inline.exp, I get: ... Running src/gdb/testsuite/gdb.cp/step-and-next-inline.exp ... gdb compile failed, g++: error: unrecognized debug output level \ 'statement-frontiers' gdb compile failed, g++: error: unrecognized debug output level \ 'statement-frontiers' === gdb Summary === # of untested testcases 2 ... Fix this by using a new gdb_caching_proc supports_statement_frontiers. Tested on x86_64-linux, with gcc 7.5.0 (which does not support -gstatement-frontiers) and with gcc 8.4.0 (which does support -gstatement-frontiers). gdb/testsuite/ChangeLog: 2020-03-14 Tom de Vries * lib/gdb.exp (supports_statement_frontiers): New proc. * gdb.cp/step-and-next-inline.exp: Use supports_statement_frontiers. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.cp/step-and-next-inline.exp | 4 ++++ gdb/testsuite/lib/gdb.exp | 11 +++++++++++ 3 files changed, 20 insertions(+) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 9f65a4eaa82..a9c28522511 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-03-14 Tom de Vries + + * lib/gdb.exp (supports_statement_frontiers): New proc. + * gdb.cp/step-and-next-inline.exp: Use supports_statement_frontiers. + 2020-03-14 Tom de Vries * gdb.base/printcmds.exp: Add missing quoting for "print diff --git a/gdb/testsuite/gdb.cp/step-and-next-inline.exp b/gdb/testsuite/gdb.cp/step-and-next-inline.exp index acec48ba81d..3733fa75570 100644 --- a/gdb/testsuite/gdb.cp/step-and-next-inline.exp +++ b/gdb/testsuite/gdb.cp/step-and-next-inline.exp @@ -15,6 +15,10 @@ standard_testfile .cc +if { ![supports_statement_frontiers] } { + return -1 +} + # Compile the test source with USE_NEXT_INLINE_H defined (when # use_header is true), or not defined. proc do_test { use_header } { diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index ae2d810a1eb..b14b3a968e1 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -6947,5 +6947,16 @@ gdb_caching_proc skip_ctf_tests { } executable "additional_flags=-gt"] } +# Return 1 if compiler supports -gstatement-frontiers. Otherwise, +# return 0. + +gdb_caching_proc supports_statement_frontiers { + return [gdb_can_simple_compile supports_statement_frontiers { + int main () { + return 0; + } + } executable "additional_flags=-gstatement-frontiers"] +} + # Always load compatibility stuff. load_lib future.exp -- 2.30.2