Even with Jakub's most recent fixes applied, I get an ICE with the following testcase:
struct c1 { ~c1(); }; struct c2 { c1 foo, bar; }; void func () { c1 phas1, phas2; #pragma omp parallel c2 helper; } ~/tmp>g++ -fopenmp -v -O bug.cc Using built-in specs. Target: i686-pc-linux-gnu Configured with: /scratch/gcc/configure --prefix=/afs/mpa/data/martin/ugcc --enable-languages=c++,fortran --with-gmp=/afs/mpa/data/martin/mygmp --with-mpfr=/afs/mpa/data/martin/mympfr --without-makeinfo --disable-tls Thread model: posix gcc version 4.2.0 20060426 (experimental) [...] bug.cc: In function 'void func()': bug.cc:5: internal compiler error: Segmentation fault [...] This problem disappears if "-fno-exceptions" is specified. It also disappears at -O0, but I was not able to find out which sub-option of -O triggers the ICE. It is different from PR25874, since no location for the ICE is given. In any case, I thought an additional testcase wouldn't hurt ;) -- Summary: [gomp] yet another ICE with exception handling Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: martin at mpa-garching dot mpg dot de 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=27323