Created attachment 379264 [details] The preprocessed output of g++ -E ... ImageVis3D_WindowHandling.cpp Description of problem: The 'ImageVis3D' program fails to compile; one source file seems to cause the compiler to enter an infinite loop. Version-Release number of selected component (if applicable): This is in fedora12, gcc 4.4.2-7. How reproducible: 100% of the time Steps to Reproduce: 1. checkout imagevis3d: 'svn co https://gforge.sci.utah.edu/svn/imagevis3d'. There are multiple sub-repositories (externals) that you'll need to confirm the security fingerprint for. 2. Make sure qt-devel is installed and qmake is in your path 3. cd imagevis3d 4. sh Scripts/unix-dev-cfg.sh 5. make Actual results: Compilation stalls at ImageVis3D_WindowHandling.cpp. I gave it significant time to get through this before giving up: real 920m33.774s user 2m1.465s sys 4m1.191s Additional info: The preprocessed source output is attached.
I apologize. Step 4 has changed to: sh Scripts/gcc-dev-cfg.sh in latest trunk. Secondly, I have upgraded to: gcc version 4.4.2 20091222 (Red Hat 4.4.2-20) (GCC) and in this version I can confirm that this is related to the optimization level. qmake's default configuration ends up adding "-O2" to the build options; if I manually change this to "-O0", the compilation completes in 4 seconds. This may be a duplicate of 531218.
Please try http://kojipkgs.fedoraproject.org/packages/gcc/4.4.2/24.fc12/
No dice. Using: gcc version 4.4.2 20100112 (Red Hat 4.4.2-24) (GCC) it still hangs on 'ImageVis3D_WindowHandling.cpp'. "-O0" is still a valid workaround. I'll also note that "-O1" seems to cause the issue as well.
I guess I'll resurrect the gcc44-max-vartrack-size.patch, but this time with a 50000000 default instead of 5000000. That way it shouldn't trigger on reasonably sized testcases and will only trigger on these monsters.
Please try gcc-4.4.3-4.fc12.
I apologize for the delay. Compilation succeeds on a fresh+updated FC12 install (gcc-4.4.3-4). Thanks! I do get a: note: variable tracking size limit exceeded with debug insns, retrying without but from comments it sounds like this is by design.