I'm building gcc 8.3.0 cross compiled for HPUX ia64 and I get a few dozen ICEs in xgcc during the build. For all of them, the ICE happens at -O1 and -O2, but not at -O0 and -O3. It's mostly libssp.c, all of c++98, all of c++11, and a few other gcov-*.c files. And libgomp, but those ICE at every -O level, so I've just disabled it. While it would be great if these could be fixed, I'm happy to just compile these files at -O0 or -O3 if that allows things to work as-is. My issue is that I'd like to be able to script this logic instead of manually having to re-run xgcc or libtool with the extra-O flag on the end. I tried adding '#pragma GCC optimize "-O0"' to the top of the respective .c files, but I still get the ICE. It is my understanding that the #pragma should override the command line option, is that accurate? I don't want to run the root-level configure and set everything to -O0 or -O3 as keeping with the defaults where possible usually has better results in my experience, but if that's the best way to handle it, so be it. Is there any trick to get this working? Can I run the configure scripts for libstdc++ and such manually instead them being run as part of 'make all'? That would at least allow me to set CFLAGS for just those libraries that need the change.