A quick head's-up, in case anyone else runs into this or is working on it:
Yesterday I installed the new ppl and cloog packages from my distro (Cygwin), and today GCC doesn't bootstrap. This is triggered by an unusual environment on my build machine, but I think it definitely exposes something wrong in the configury changes related. The 'unusual environment' on my machine is that I have a "/include" dir, full of header files with the standard names, some of which are bogus enough to trigger compiler warnings: /gnu/gcc/obj7ppl/./prev-gcc/xgcc -B/gnu/gcc/obj7ppl/./prev-gcc/ -B/opt/gcc-tools/i686-pc-cygwin/bin/ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I/gnu/gcc/gcc/gcc -I/gnu/gcc/gcc/gcc/build -I/gnu/gcc/gcc/gcc/../include -I/gnu/gcc/gcc/gcc/../libcpp/include -I/usr/include -I/usr/include -I/gnu/gcc/gcc/gcc/../libdecnumber -I/gnu/gcc/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/include -I/include -DCLOOG_PPL_BACKEND -o build/genmodes.o /gnu/gcc/gcc/gcc/genmodes.c cc1: warnings being treated as errors In file included from /gnu/gcc/gcc/gcc/system.h:41, from /gnu/gcc/gcc/gcc/genmodes.c:22: /include/stdio.h:615: error: no previous prototype for '__sgetc_r' make[3]: *** [build/genmodes.o] Error 1 make[3]: Leaving directory `/gnu/gcc/obj7ppl/gcc' make[2]: *** [all-stage2-gcc] Error 2 However, I think the details aren't relevant. "/include" is not a standard location on my target, and should not have been searched. It is outside $prefix, and one level above /usr, where --with-gmp and --with-mpfr point; I cannot see any reason why it should even be considered speculatively. $ /gnu/gcc/gcc/configure '--prefix=/opt/gcc-tools' '-v' '--with-gmp=/usr' '--with-mpfr=/usr' '--enable-bootstrap' '--enable-version-specific-runtime-libs' '--with-slibdir=/usr/bin' '--libexecdir=/usr/lib' '--enable-static' '--enable-shared' '--enable-shared-libgcc' '--disable-__cxa_atexit' '--with-gnu-ld' '--with -gnu-as' '--with-dwarf2' '--disable-sjlj-exceptions' '--disable-symvers' '--enable-libjava' '--enable-interpreter' '--program-suffix=-4' '--enable-libgomp' '--enable-libssp' '--disable-libada' '--enable-threads=posix' '--with-arch=i686' '--with-tune=generic' 'CC=gcc-4' 'CXX=g++-4' 'CC_FOR_TARGET=gcc-4' 'CXX_FOR_TARGET=g++-4' '--with-ecj-jar=/usr/share/java/ecj.jar' 'LD=/opt/gcc-tools/bin/ld.exe' 'LD_FOR_TARGET=/opt/gcc-tools/bin/ld.exe' 'AS=/opt/gcc-tools/bin/as.exe' 'AS_FOR_TARGET=/opt/gcc-tools/bin/as.exe' '--disable-win32-registry' '--enable-libgcj-debug' '--enable-languages=c,c++,java,fortran' 2>&1 | tee conf.log As I said, this didn't happen the day before when I configured similarly but without cloog and ppl libs present in /usr/lib, so I reckon it must be triggered by related configury. I'll do some more digging and find out why it happens; so far I've just verified that "-I/include" was not present on command-lines in the previous bootstrap and only appeared in the new failing build. I'm about to start looking through the config logs; if anyone knows anything or has any ideas about this, please share! cheers, DaveK