I tried compiling my open source application with GCC. My application uses OpenMP to make use of available CPU cores and run faster. I got an internal compiler error from GCC, even though the same code compiles and runs fine (using both cores) under Intel's ICC. It also compiles and runs fine with GCC when I don't use the -fopenmp option (but then it only uses one core). My GCC -v output: Using built-in specs. Target: i686-pc-linux-gnu Configured with: ./configure --enable-languages=c,c++ --prefix=/opt/gcc-4.2.3 --exec_prefix=/opt/gcc-4.2.3 Thread model: posix Version gcc 4.2.3 My system: (uname -a) Linux home 2.6.23 #2 SMP PREEMPT Sun Nov 11 11:44:34 EET 2007 i686 Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz GenuineIntel GNU/Linux The command line that triggers the bug is simple: g++ -c -fopenmp Scene.ii It reports: src/Scene.cc: In member function 'void Scene::renderPhong(const Camera&, Screen&)': src/Scene.cc:165: åóùôåñéêü óöÜëìá ìåôáãëùôôéóôÞ: in create_tmp_var, at gimplify.c:487 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Scene.ii (the preprocessed output), is available here: http://users.softlab.ntua.gr/~ttsiod/Scene.ii.bz2 If you remove the -fopenmp, the code compiles fine. In case you want to see what the code is used for, the open source project and its full code is available here: http://users.softlab.ntua.gr/~ttsiod/renderer.html -- Summary: Usage of openmp pragmas causes internal compiler error Product: gcc Version: 4.2.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ttsiod at softlab dot ntua dot gr GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35247