diff options
author | Gary Benson <gbenson@redhat.com> | 2020-05-29 17:43:17 +0100 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2020-05-29 17:43:17 +0100 |
commit | 678048e8079ace915052f3070b2df97bcaea58d2 (patch) | |
tree | e4e005b57942b3c9db2ba8502a8b9b2ac896908e /gdb | |
parent | 9fcafd23fa6d919f112e9a7f73e72895c2457de1 (diff) | |
download | gdb-678048e8079ace915052f3070b2df97bcaea58d2.zip gdb-678048e8079ace915052f3070b2df97bcaea58d2.tar.gz gdb-678048e8079ace915052f3070b2df97bcaea58d2.tar.bz2 |
Fix build errors in with clang in gdb.compile/compile-cplus.c
Clang fails to compile the file, with the following error:
fatal error: 'iostream' file not found
This prevents the following testcase from executing:
gdb.compile/compile-cplus.exp
The testcase sets additional_flags when building with GCC, which
this commit causes to also be set when building with clang. This
makes the testcase fail to build with a different error:
warning: treating 'c' input as 'c++' when in C++ mode, this behavior
is deprecated [-Wdeprecated]
so this commit adds -Wno-deprecated in two places to sidestep this.
Note that, while allowing the testcase to build, this commit reveals
failures when the testsuite is built using clang.
gdb/testsuite/ChangeLog:
* gdb.compile/compile-cplus.exp (additional_flags): Also
set when building with clang.
(additional_flags, srcfilesoptions): Pass -Wno-deprecated
when building with clang.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.compile/compile-cplus.exp | 15 |
2 files changed, 20 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 667dbfd..d4e7220 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,12 @@ 2020-05-29 Gary Benson <gbenson@redhat.com> + * gdb.compile/compile-cplus.exp (additional_flags): Also + set when building with clang. + (additional_flags, srcfilesoptions): Pass -Wno-deprecated + when building with clang. + +2020-05-29 Gary Benson <gbenson@redhat.com> + * gdb.arch/i386-avx.exp (additional_flags): Also set when building with clang. * gdb.arch/i386-sse.exp (additional_flags): Likewise. diff --git a/gdb/testsuite/gdb.compile/compile-cplus.exp b/gdb/testsuite/gdb.compile/compile-cplus.exp index cca5b20..85b2f20 100644 --- a/gdb/testsuite/gdb.compile/compile-cplus.exp +++ b/gdb/testsuite/gdb.compile/compile-cplus.exp @@ -19,11 +19,16 @@ standard_testfile .c compile-shlib.c compile-constvar.S compile-nodebug.c get_compiler_info set options {} -if [test_compiler_info gcc*] { +if { [test_compiler_info gcc*] || [test_compiler_info clang*] } { lappend options additional_flags=-g3 lappend options additional_flags=-std=gnu++11 lappend options c++ } +if [test_compiler_info clang*] { + # Treating C input as C++ is deprecated in Clang, so + # the build will fail without disabling -Wdeprecated. + lappend options additional_flags=-Wno-deprecated +} if { ![istarget x86_64-*-* ] || ![is_lp64_target] } { verbose "Skipping x86_64 LOC_CONST test." @@ -34,7 +39,13 @@ set srcfilesoptions [list ${srcfile} ${options}] if { $srcfile3 != "" } { lappend srcfilesoptions $srcfile3 ${options} } -lappend srcfilesoptions $srcfile4 "nodebug c++" +set srcfile4options "nodebug c++" +if [test_compiler_info clang*] { + # Treating C input as C++ is deprecated in Clang, so + # the build will fail without disabling -Wdeprecated. + set srcfile4options "$srcfile4options additional_flags=-Wno-deprecated" +} +lappend srcfilesoptions $srcfile4 $srcfile4options if { [eval build_executable_from_specs ${testfile}.exp $testfile {$options} ${srcfilesoptions}] } { return -1 } |