[patch] explicitly specify -std=gnu89 for gdb.cp/inline-break.exp
David Blaikie
dblaikie@gmail.com
Sun Apr 13 07:08:00 GMT 2014
On Fri, Apr 11, 2014 at 7:59 PM, Andrew Pinski <pinskia@gmail.com> wrote:
> On Fri, Apr 11, 2014 at 4:58 PM, David Blaikie <dblaikie@gmail.com> wrote:
>> This test is intending to use gnu style inline rather than the
>> standard c99 inline semantics. Clang defaults to c99 and the test
>> breaks for this (and other - there's an inlining debug info quality
>> bug here too - I'll file a bug and kfail the remaining failures in a
>> separate patch) reason.
>
> Or better yet, use the gnu_inline attribute on those functions.
Ah, good plan - patch attached for that fix instead.
Though at this point, I'd consider removing the GNUC conditional - for
this test to be meaningful the compiler must support gnu inlining
semantics. Are there compilers that support those semantics but don't
support GCC attribute syntax and the gnu_inline attribute in
particular?
Removing the conditional would cause any compiler that doesn't support
the attributes to just fail to compile, marking the test as untested
rather than producing failures.
-------------- next part --------------
commit a0f7d916bf274325b1535d7f4eade43953cb2bf2
Author: David Blaikie <dblaikie@gmail.com>
Date: Sun Apr 13 00:01:21 2014 -0700
Use attribute to specify the required inlining semantics
As suggested by Andrew Pinski.
gdb/testsuite/
* gdb.opt/inline-break.c: Fix clang compatibility by specifying
gnu_inline semantics via attribute.
* gdb.opt/inline-break.exp: Remove -std=c89 now that the test source
explicitly specifies the required semantics.
diff --git gdb/testsuite/ChangeLog gdb/testsuite/ChangeLog
index 730c116..44b2eeb 100644
--- gdb/testsuite/ChangeLog
+++ gdb/testsuite/ChangeLog
@@ -6,6 +6,13 @@
2014-04-11 David Blaikie <dblaikie@gmail.com>
+ * gdb.opt/inline-break.c: Fix clang compatibility by specifying
+ gnu_inline semantics via attribute.
+ * gdb.opt/inline-break.exp: Remove -std=c89 now that the test source
+ explicitly specifies the required semantics.
+
+2014-04-11 David Blaikie <dblaikie@gmail.com>
+
* gdb.opt/inline-break.exp: Explicitly specify -std=gnu89 to
override Clang's default.
diff --git gdb/testsuite/gdb.opt/inline-break.c gdb/testsuite/gdb.opt/inline-break.c
index 9513eec..f8a9ec9 100644
--- gdb/testsuite/gdb.opt/inline-break.c
+++ gdb/testsuite/gdb.opt/inline-break.c
@@ -19,7 +19,7 @@
this file, and should be regenerated if this file is modified. */
#ifdef __GNUC__
-# define ATTR __attribute__((always_inline))
+# define ATTR __attribute__((gnu_inline)) __attribute__((always_inline))
#else
# define ATTR
#endif
diff --git gdb/testsuite/gdb.opt/inline-break.exp gdb/testsuite/gdb.opt/inline-break.exp
index 4ff379a..21c958a 100644
--- gdb/testsuite/gdb.opt/inline-break.exp
+++ gdb/testsuite/gdb.opt/inline-break.exp
@@ -19,10 +19,8 @@
standard_testfile
-# Explicitly specify gnu89 for gnu inline semantics to override Clang's default
-# of c99.
if { [prepare_for_testing $testfile.exp $testfile $srcfile \
- {debug optimize=-O2 additional_flags=-Winline additional_flags=-std=gnu89}] } {
+ {debug optimize=-O2 additional_flags=-Winline}] } {
return -1
}
More information about the Gdb-patches
mailing list