[Bug c++/94477] New: ICE in tsubst_expr, at cp/pt.c:18181

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Fri Apr 3 17:37:59 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94477

            Bug ID: 94477
           Summary: ICE in tsubst_expr, at cp/pt.c:18181
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-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-alpha20200329 snapshot (g:60c254b279e8e8443b8ad26cc46b9e4084cff66c)
ICEs when compiling the following testcase, extracted from
test/OpenMP/parallel_master_taskloop_collapse_messages.cpp from the clang
10.0.0 test suite, w/ -fopenmp:

void
j3 ();

template <int>
void
xm ()
{
  #pragma omp parallel master
  j3 ();
}

void
s3 ()
{
   xm<0> ();
}

% g++-10.0.1 -fopenmp -c qnx2epwv.cpp
qnx2epwv.cpp: In instantiation of 'void xm() [with int <anonymous> = 0]':
qnx2epwv.cpp:15:11:   required from here
qnx2epwv.cpp:8:11: internal compiler error: in tsubst_expr, at cp/pt.c:18181
    8 |   #pragma omp parallel master
      |           ^~~
0x659d49 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/pt.c:18181
0x9eb63a tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/pt.c:17985
0x9e97f6 instantiate_decl(tree_node*, bool, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/pt.c:25507
0xa1a4ab instantiate_pending_templates(int)
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/pt.c:25623
0x91fbd3 c_parse_final_cleanups()
       
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200329/work/gcc-10-20200329/gcc/cp/decl2.c:4874


More information about the Gcc-bugs mailing list