https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94512
Bug ID: 94512 Summary: [10 Regression] ICE in tsubst_expr, at cp/pt.c:18210 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: error-recovery, ice-on-invalid-code, openmp Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++-10.0.1-alpha20200405 snapshot (g:2a1a0c8c0db0aae50a2cebce59bd64334cd6ba2a) ICEs when compiling the following testcase, extracted from test/OpenMP/parallel_master_taskloop_simd_collapse_messages.cpp from the clang 10.0.0 test suite, w/ -fopenmp: void ow (); template <int> void ho () { #pragma omp parallel master taskloop ow (); } void th () { ho<0> (); } % g++-10.0.1 -fopenmp -c e4oc5ifw.cpp e4oc5ifw.cpp: In function 'void ho()': e4oc5ifw.cpp:9:3: error: for statement expected before 'ow' 9 | ow (); | ^~ e4oc5ifw.cpp: In instantiation of 'void ho() [with int <anonymous> = 0]': e4oc5ifw.cpp:15:10: required from here e4oc5ifw.cpp:9:3: internal compiler error: in tsubst_expr, at cp/pt.c:18210 0x659911 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/cp/pt.c:18210 0x9ed1e2 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/cp/pt.c:17696 0x9ed997 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/cp/pt.c:18014 0x9eaad6 instantiate_decl(tree_node*, bool, bool) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/cp/pt.c:25538 0xa1b7eb instantiate_pending_templates(int) /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/cp/pt.c:25654 0x920d33 c_parse_final_cleanups() /var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200405/work/gcc-10-20200405/gcc/cp/decl2.c:4874