This is the mail archive of the 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 Mon, May 26, 2014 at 12:05 PM, Eric Christopher <> wrote:
> On Mon, May 26, 2014 at 1:14 AM, FX <> wrote:
>>> > .././../gcc-4.10-20140518/gcc/ error: invalid use of a
>>> > cast in a inline asm context requiring an l-value: remove the cast or
>>> > build with -fheinous-gnu-extensions
>>> >           umul_ppmm (val[1], val[0], op1.ulow (), op2.ulow ());
>>> >           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> This is PR 61146.  You can get around it by adding -fheinous-gnu-extensions
>> This causes GCC bootstrap to fail on Darwin systems (whose system compiler is clang-based). Since PR 61146 was resolved as INVALID (but Iâm not sure itâs the right call, see below), Iâve filed a separate report for the bootstrap issue (
>> Regarding PR 61146, I agree with Marc Glisse (comment #3) that the casts in question look weird and should probably be removed, as was done in GMP. This code should be cleaned up, and it will fix bootstrap on clang-based target coincidentally, without adding another kludge.
> I think that posting a patch is probably the best bet. Then the
> various merits of the patch to clean up the code can be argued. As far
> as some sort of workaround, I'd suggest seeing if there's something
> else that can be done first.

You can always use a different host compiler as a workaround,
for example by building and installing gcc 4.9 first.

But indeed I agree with Andrew that compilers defining __GNUC__
but not behaving exactly like gcc should be punished.  What
does LLVM define as the actual version, and/or as __GNUC_MINOR__


> Thanks.
> -eric

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