The code struct A { ~A(); };
int f() { A a; #pragma omp parallel firstprivate(a) for (int i = 0; i < 5; ++i) int x = 0; return 0; } gives the following ICE with gcc version 4.2.0 20060426 (experimental): LANG=C g++-4.2 -c -fopenmp -o gcc-bug.o gcc-bug.cpp gcc-bug.cpp: In function 'int f()': gcc-bug.cpp:5: internal compiler error: in find_outermost_region_in_block, at tree-cfg.c:4758 This is reduced from the same code as PR26913 (thanks for the fix). The ICE disappears with -fno-exceptions. I am not sure whether this is a duplicate of PR26823, but the ICE appears in a different file, so maybe it is not. In the process of reducing I got also two other ICEs: gcc-bug.cpp:16: internal compiler error: in make_decl_rtl, at varasm.c:1009 and gcc-bug.cpp:27: error: basic block 5 edge lists are corrupted gcc-bug.cpp:27: internal compiler error: verify_flow_info failed Since these appear in a rather large file I'll reduce them further and file reports after this problem is fixed (if they still appear then). -- Summary: ICE with enabled exceptions and -fopenmp Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: Georg dot Baum at post dot rwth-aachen dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27325