This isn't a problem I typically encounter so I am hoping for some pointers on the steps to debug. I'm calling it infinite, but I've always just terminated the build after a long time of waiting. I don't know what to call this apparently as I've tried searching the mailing list + bugzilla for information but nothing comes up related to this type of problem. I'm using 4.2.1 and have seen this one or twice before on a mingw build I think, but this is the first time I've encountered it on my linux build. Only thing I know at the moment is that the hang happens during the compile step and that I can only get through preprocessing (-E) for sure. This only happens when building with an opt build such as -O3. I've tried working it down to test case that doesn't involve building the library that this test suite is a part of, but so far no luck -- I will have to try and work with it as part of the test suite file itself. I've narrowed it down to a section of the code that is purely a set of macros that call into each other and contain something like do { ... } while (0). I can past the library context-specific code that produces this if it matters for creating steps to debug (the whole file is ~150 lines when reduced). g++ -v Using built-in specs. Target: x86_64-suse-linux Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.2.1 --enable-ssp --disable-libssp --disable-libgcj --with-slibdir=/lib64 --with-system-zlib --enable-shared --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --program-suffix=-4.2 --enable-version-specific-runtime-libs --without-system-libunwind --with-cpu=generic --host=x86_64-suse-linux Thread model: posix gcc version 4.2.1 (SUSE Linux) The compile command looks like this: /usr/bin/g++ -O3 -D_RELEASE -fno-trapping-math -s -pipe -Wall -Wformat=2 -c -I /usr/include/ -I /usr/include/SDL/ -I /usr/local/include/SDL11/ -I /usr/local/include/ -I /usr/X11R6/include/ -I ../G3D.lib/include -I ../GLG3D.lib/include -o .ice-tmp/test/linux-x86_64-g++-4.2/RELEASE/tTextInput.o /tTextInput.cpp corey