This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Darwin bootstrap failure following wide int merge (was: we are starting the wide int merge)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: FX <fxcoudert at gmail dot com>, Mike Stump <mikestump at comcast dot net>, echristo at gmail dot com, Stan Shebs <stanshebs at earthlink dot net>, GCC Development <gcc at gcc dot gnu dot org>, glisse at gcc dot gnu dot org, Richard Sandiford <rdsandiford at googlemail dot com>, Kenneth Zadeck <zadeck at naturalbridge dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>, Gerald Pfeifer <gerald at pfeifer dot com>
- Date: Wed, 28 May 2014 11:48:48 +0200
- Subject: Re: Darwin bootstrap failure following wide int merge (was: we are starting the wide int merge)
- Authentication-results: sourceware.org; auth=none
- References: <97BE9F46-EB35-4B06-9065-915D7259E701 at gmail dot com> <769D0D77-6DB3-421F-9006-326B0E2B42FE at gmail dot com> <71C2DDBB-87AE-491D-9074-F5744B8AFF61 at comcast dot net> <20140528065033 dot GV10386 at tucnak dot redhat dot com> <CAFiYyc2tLShbmh_4RzMqCO+yky8voEOhTpY1aqjYMLq+dAP8Pg at mail dot gmail dot com> <494AF306-EB09-4F70-BCF8-95E892BF618B at gmail dot com> <CAFiYyc0Fw+BWqY=sVzuMSr-=ccLY9u9zxVEu2AS379v=BYT3pA at mail dot gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, May 28, 2014 at 11:38:55AM +0200, Richard Biener wrote:
> On Wed, May 28, 2014 at 10:24 AM, FX <fxcoudert@gmail.com> wrote:
> >> Yeah, a portable (C and C++) static assert would be nice. And also pushing
> >> this to gmp then.
> >>
> >> In the meantime I see nothing wrong in "merging" from GMP.
> >
> > One question, one comment:
> >
> > 1. can I count your âI see nothing wrongâ as an approval, as in âglobal reviewers can approve changes to any part of the compiler or associated librariesâ?
>
> Well, kind of. But Jakub is as well, so I don't want to override him. So
> please wait for an ack from Jakub. I agree with him that the casts
> served a purpose and that, if removed, they need to be replaced with
> an appropriate assertion measure.
I think my preference would be to change include/ansidecl.h to:
/* This macro simplifies testing whether we are using gcc, and if it
is of a particular minimum version. (Both major & minor numbers are
significant.) This macro will evaluate to 0 if we are not using
gcc at all.*/
#ifndef GCC_VERSION
+/* Some compilers pretend to be GCC, even when they are not. */
+#if defined(__clang__) || defined(__INTEL_COMPILER)
+#define GCC_VERSION 0
+#else
#define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
+#endif
#endif /* GCC_VERSION */
so that we really can trust the GCC_VERSION macro, casts in lhs of inline
asm isn't the only incompatibility clang has.
Any other compilers that define __GNUC__?
Jakub