When trying a mips-sgi-irix6.5 bootstrap with C++ in stages 2 and 3, I failed due to an issue that had been hidden previously: I'm building with ppl/cloog. Building ClooG initially failed since gcc (or any compiler on MIPS) predefines LANGUAGE_C, which is also used by <cloog/pprint.h>. As a hack, I renamed those defines to CLOOG_LANGUAGE_C and CLOOG_LANGUAGE_FORTRAN, not noticing that graphite-clast-to-gimple.c has a use of LANGUAGE_C and now got the wrong value. When compiling with g++, LANGUAGE_C isn't defined any longer and the build breaks: /vol/gcc/src/hg/trunk/local/gcc/graphite-clast-to-gimple.c: In function 'CloogOptions* set_cloog_options()': /vol/gcc/src/hg/trunk/local/gcc/graphite-clast-to-gimple.c:1309:23: error: 'LANGUAGE_C' was not declared in this scope make[3]: *** [graphite-clast-to-gimple.o] Error 1 The question is how best to fix this? One might change upstream CLooG to use CLOOG_LANGUAGE_C instead to avoid the clash, test for that in graphite-clast-to-gimple.c and require MIPS users to upgrade or fix their local copies?
Author: ro Date: Fri Jul 22 08:49:23 2011 New Revision: 176618 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176618 Log: PR bootstrap/49797 * graphite-clast-to-gimple.c (CLOOG_LANGUAGE_C): Provide if missing. (set_cloog_options): Use it. Modified: trunk/gcc/ChangeLog trunk/gcc/graphite-clast-to-gimple.c
Fixed for 4.7.0.
Can you please back port this to 4.6 as well? Running into this on Scientific Linux 6.1 on x64 with GCC 4.6 trunk and latest cloog-isl and ppl. Thanks!
> --- Comment #3 from Matt Hargett <matt at use dot net> 2012-04-23 22:19:35 UTC --- > Can you please back port this to 4.6 as well? Running into this on Scientific > Linux 6.1 on x64 with GCC 4.6 trunk and latest cloog-isl and ppl. Thanks! Why would this be relevant to Linux/x64? AFAIK use of LANGUAGE_C is a mips-only feature. Rainer
It's not an IRIX-specific thing AFAICS, but rather that newer versions of cloog/ppl renamed the macro to avoid conflicts on IRIX. 4.6 still checks for the old macro name, which is no longer set. I have applied the patch locally to work around the issue and can verify it solved the problem for me. Let me know if there's anything else you'd like me to test/validate to get it back ported.
Pinging on this again since this patch has been back ported to a couple of 4.6-based branches now. Anyone attempting to use a recent cloog release with GCC 4.6 will run into this problem. It is incredibly low-risk in an of itself, and I can verify that it works with both latest cloog and the previous release.