This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Darwin bootstrap failure following wide int merge (was: we are starting the wide int merge)


On Wed, May 28, 2014 at 12:03 PM, Richard Biener
<richard.guenther@gmail.com> wrote:
> On Wed, May 28, 2014 at 11:48 AM, Jakub Jelinek <jakub@redhat.com> wrote:
>> 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__?
>
> Every one I guess.  ICC 9 has it defined to 4, __GNUC_MINOR__ to 0.

So if we want to go down that route I'd rather change the configury that
checks whether we are using GCC to be more pedantic and for example
parse $CC --version output (not for the actual version but for whether
$CC is GCC).

Richard.

> Richard.
>
>>         Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]