http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45935
Summary: Many g++.dg/gomp failures with ICE in expand_omp_taskreg Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: da...@gcc.gnu.org Created attachment 21988 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=21988 sample failing testcase Running /gnu/gcc/gcc-unpatched/gcc/testsuite/g++.dg/gomp/gomp.exp ... FAIL: g++.dg/gomp/block-0.C (internal compiler error) FAIL: g++.dg/gomp/block-0.C (test for excess errors) FAIL: g++.dg/gomp/block-11.C (internal compiler error) FAIL: g++.dg/gomp/block-11.C (test for excess errors) FAIL: g++.dg/gomp/for-12.C (internal compiler error) FAIL: g++.dg/gomp/for-12.C (test for excess errors) FAIL: g++.dg/gomp/for-13.C (internal compiler error) FAIL: g++.dg/gomp/for-13.C (test for excess errors) FAIL: g++.dg/gomp/for-14.C (internal compiler error) FAIL: g++.dg/gomp/for-14.C (test for excess errors) FAIL: g++.dg/gomp/for-15.C (internal compiler error) FAIL: g++.dg/gomp/for-15.C (test for excess errors) FAIL: g++.dg/gomp/macro-1.C (internal compiler error) FAIL: g++.dg/gomp/macro-1.C (test for excess errors) FAIL: g++.dg/gomp/macro-2.C (internal compiler error) FAIL: g++.dg/gomp/macro-2.C (test for excess errors) FAIL: g++.dg/gomp/macro-3.C (internal compiler error) FAIL: g++.dg/gomp/macro-3.C (test for excess errors) FAIL: g++.dg/gomp/parallel-1.C (internal compiler error) FAIL: g++.dg/gomp/parallel-1.C (test for excess errors) FAIL: g++.dg/gomp/parallel-3.C (internal compiler error) FAIL: g++.dg/gomp/parallel-3.C (test for excess errors) FAIL: g++.dg/gomp/pr24849.C (internal compiler error) FAIL: g++.dg/gomp/pr24849.C (test for excess errors) FAIL: g++.dg/gomp/pr25874.C (internal compiler error) FAIL: g++.dg/gomp/pr25874.C (test for excess errors) FAIL: g++.dg/gomp/pr26611-1.C (internal compiler error) FAIL: g++.dg/gomp/pr26611-1.C (test for excess errors) FAIL: g++.dg/gomp/pr26611-2.C (internal compiler error) FAIL: g++.dg/gomp/pr26611-2.C (test for excess errors) FAIL: g++.dg/gomp/pr26823-1.C (internal compiler error) FAIL: g++.dg/gomp/pr26823-1.C (test for excess errors) FAIL: g++.dg/gomp/pr26823-2.C (internal compiler error) FAIL: g++.dg/gomp/pr26823-2.C (test for excess errors) FAIL: g++.dg/gomp/pr26913.C (internal compiler error) FAIL: g++.dg/gomp/pr26913.C (test for excess errors) FAIL: g++.dg/gomp/pr27310.C (internal compiler error) FAIL: g++.dg/gomp/pr27310.C (test for excess errors) FAIL: g++.dg/gomp/pr27325.C (internal compiler error) FAIL: g++.dg/gomp/pr27325.C (test for excess errors) FAIL: g++.dg/gomp/pr27337-1.C (internal compiler error) FAIL: g++.dg/gomp/pr27337-1.C (test for excess errors) FAIL: g++.dg/gomp/pr27337-2.C (internal compiler error) FAIL: g++.dg/gomp/pr27337-2.C (test for excess errors) FAIL: g++.dg/gomp/pr29965-1.C (internal compiler error) FAIL: g++.dg/gomp/pr29965-1.C (test for excess errors) FAIL: g++.dg/gomp/pr29965-10.C (internal compiler error) FAIL: g++.dg/gomp/pr29965-10.C (test for excess errors) FAIL: g++.dg/gomp/pr29965-2.C (internal compiler error) FAIL: g++.dg/gomp/pr29965-2.C (test for excess errors) FAIL: g++.dg/gomp/pr29965-4.C (internal compiler error) FAIL: g++.dg/gomp/pr29965-4.C (test for excess errors) FAIL: g++.dg/gomp/pr29965-5.C (internal compiler error) FAIL: g++.dg/gomp/pr29965-5.C (test for excess errors) FAIL: g++.dg/gomp/pr29965-6.C (internal compiler error) FAIL: g++.dg/gomp/pr29965-6.C (test for excess errors) FAIL: g++.dg/gomp/pr29965-7.C (internal compiler error) FAIL: g++.dg/gomp/pr29965-7.C (test for excess errors) FAIL: g++.dg/gomp/pr29965-8.C (internal compiler error) FAIL: g++.dg/gomp/pr29965-8.C (test for excess errors) FAIL: g++.dg/gomp/pr30558.C (internal compiler error) FAIL: g++.dg/gomp/pr30558.C (test for excess errors) FAIL: g++.dg/gomp/pr30696.C (internal compiler error) FAIL: g++.dg/gomp/pr30696.C (test for excess errors) FAIL: g++.dg/gomp/pr31598.C (internal compiler error) FAIL: g++.dg/gomp/pr31598.C (test for excess errors) FAIL: g++.dg/gomp/pr31769.C (internal compiler error) FAIL: g++.dg/gomp/pr31769.C (test for excess errors) FAIL: g++.dg/gomp/pr32177.C (internal compiler error) FAIL: g++.dg/gomp/pr32177.C (test for excess errors) FAIL: g++.dg/gomp/pr33333.C (internal compiler error) FAIL: g++.dg/gomp/pr33333.C (test for excess errors) FAIL: g++.dg/gomp/pr33372-2.C (internal compiler error) FAIL: g++.dg/gomp/pr33372-2.C (test for excess errors) FAIL: g++.dg/gomp/pr34608.C (internal compiler error) FAIL: g++.dg/gomp/pr34608.C (test for excess errors) FAIL: g++.dg/gomp/pr34694.C (internal compiler error) FAIL: g++.dg/gomp/pr34694.C (test for warnings, line 12) FAIL: g++.dg/gomp/pr34694.C (test for warnings, line 13) FAIL: g++.dg/gomp/pr34694.C (test for excess errors) FAIL: g++.dg/gomp/pr35028.C (internal compiler error) FAIL: g++.dg/gomp/pr35028.C (test for excess errors) FAIL: g++.dg/gomp/pr35099.C (internal compiler error) FAIL: g++.dg/gomp/pr35099.C (test for excess errors) FAIL: g++.dg/gomp/pr35364.C (internal compiler error) FAIL: g++.dg/gomp/pr35364.C (test for excess errors) FAIL: g++.dg/gomp/pr36237.C (internal compiler error) FAIL: g++.dg/gomp/pr36237.C (test for excess errors) FAIL: g++.dg/gomp/pr36790.C (internal compiler error) FAIL: g++.dg/gomp/pr36790.C (test for excess errors) FAIL: g++.dg/gomp/pr37189.C (internal compiler error) FAIL: g++.dg/gomp/pr37189.C (test for excess errors) FAIL: g++.dg/gomp/pr38633.C (internal compiler error) FAIL: g++.dg/gomp/pr38633.C (test for excess errors) FAIL: g++.dg/gomp/pr41429.C (test for excess errors) FAIL: g++.dg/gomp/tpl-for-3.C (internal compiler error) FAIL: g++.dg/gomp/tpl-for-3.C (test for excess errors) FAIL: g++.dg/gomp/tpl-parallel-1.C (internal compiler error) FAIL: g++.dg/gomp/tpl-parallel-1.C (test for excess errors) Running /gnu/gcc/gcc-unpatched/gcc/testsuite/g++.dg/graphite/graphite.exp ... I see that HJ's regression tester has also noticed these: http://gcc.gnu.org/ml/gcc-testresults/2010-10/msg00550.html (gdb) r Starting program: /gnu/gcc/obj2/gcc/cc1plus.exe -fpreprocessed block-0.ii -quiet -dumpbase block-0.C -mtune=generic -march=i686 -auxbase-strip block-0.s -versio n -fmessage-length=0 -fopenmp -fdump-tree-omplower -o block-0.s [New thread 920.0x7f4] [New thread 920.0xaa4] GNU C++ (GCC) version 4.6.0 20101007 (experimental) (i686-pc-cygwin) compiled by GNU C version 4.6.0 20101007 (experimental), GMP version 4.3 .1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.6.0 20101007 (experimental) (i686-pc-cygwin) compiled by GNU C version 4.6.0 20101007 (experimental), GMP version 4.3 .1, MPFR version 2.4.1-p5, MPC version 0.8 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 4cc6845e124b50cb6c6990d595433c0e Breakpoint 5, 0x006f83b0 in expand_omp_taskreg (region=0x4de2020) at /gnu/gcc/gcc-unpatched/gcc/omp-low.c:2070 2070 return n ? (omp_context *) n->value : NULL; (gdb) bt #0 0x006f83b0 in expand_omp_taskreg (region=0x4de2020) at /gnu/gcc/gcc-unpatched/gcc/omp-low.c:2070 #1 0x006fa6b1 in expand_omp (region=0x4de2020) at /gnu/gcc/gcc-unpatched/gcc/omp-low.c:2070 #2 0x7fdb0e10 in ?? () #3 0x7fdb07e0 in ?? () #4 0x04ddb770 in ?? () #5 0x008b572c in next_dom_son (dir=CDI_DOMINATORS, bb=0x7fdb0798) at /gnu/gcc/gcc-unpatched/gcc/dominance.c:600 #6 0x006fe68b in build_omp_regions_1 (bb=<value optimized out>, parent=0x1, single_tree=<value optimized out>) at /gnu/gcc/gcc-unpatched/gcc/omp-low.c:2070 #7 0x00000001 in ?? () #8 0x00000000 in ?? () (gdb) print *region $4 = {outer = 0x0, inner = 0x4de2050, next = 0x4de1fc0, entry = 0x7fdb0e10, exit = 0x7fdb1098, cont = 0x0, ws_args = 0x7ff53c00, type = GIMPLE_OMP_PARALLEL, sched_kind = OMP_CLAUSE_SCHEDULE_STATIC, is_combined_parallel = 1 '\001'} (gdb) (The apparent bad frames in the stack trace and the incorrect line number information are just artifacts, I'll need to respin a build with less optimisation and more debug info to get a better look.)