From: David Blaikie <dblaikie@gmail.com>
To: Andrew Pinski <pinskia@gmail.com>
Cc: gdb-patches <gdb-patches@sourceware.org>,
Eric Christopher <echristo@gmail.com>,
Doug Evans <dje@google.com>
Subject: Re: [patch] explicitly specify -std=gnu89 for gdb.cp/inline-break.exp
Date: Sun, 13 Apr 2014 07:08:00 -0000 [thread overview]
Message-ID: <CAENS6EsjGe7e6M987QPFjabnJWAGMd45XvhzDgTTthK_FojN_g@mail.gmail.com> (raw)
In-Reply-To: <CA+=Sn1mZHq=_kvEB8v68dd==m11wLsR0N0cQ1-6q7y5EYR24LQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1032 bytes --]
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.
[-- Attachment #2: gnu_inline.diff --]
[-- Type: text/plain, Size: 2104 bytes --]
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
}
next prev parent reply other threads:[~2014-04-13 7:08 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-11 23:58 David Blaikie
2014-04-12 0:18 ` Doug Evans
2014-04-12 0:40 ` David Blaikie
2014-04-12 2:59 ` Andrew Pinski
2014-04-13 7:08 ` David Blaikie [this message]
2014-05-01 10:52 ` Pedro Alves
2014-05-30 11:25 ` Pedro Alves
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAENS6EsjGe7e6M987QPFjabnJWAGMd45XvhzDgTTthK_FojN_g@mail.gmail.com \
--to=dblaikie@gmail.com \
--cc=dje@google.com \
--cc=echristo@gmail.com \
--cc=gdb-patches@sourceware.org \
--cc=pinskia@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox