This is the mail archive of the
mailing list for the GCC project.
Darwin bootstrap failure following wide int merge (was: we are starting the wide int merge)
- From: FX <fxcoudert at gmail dot com>
- To: GCC Development <gcc at gcc dot gnu dot org>
- Cc: glisse at gcc dot gnu dot org, rdsandiford at googlemail dot com, mikestump at comcast dot net, zadeck at naturalbridge dot com, gcc-patches <gcc-patches at gcc dot gnu dot org>, Gerald Pfeifer <gerald at pfeifer dot com>
- Date: Mon, 26 May 2014 10:14:04 +0200
- Subject: Darwin bootstrap failure following wide int merge (was: we are starting the wide int merge)
- Authentication-results: sourceware.org; auth=none
> > .././../gcc-4.10-20140518/gcc/wide-int.cc:1274:23: 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, val, op1.ulow (), op2.ulow ());
> > ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> This is PR 61146. You can get around it by adding -fheinous-gnu-extensions
> to BOOT_CFLAGS.
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 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61315).
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.