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

            Bug ID: 103349
           Summary: ICE in potential_constant_expression_1, at
                    cp/constexpr.c:9104 (sorry, unimplemented: unexpected
                    AST of kind omp_masked)
           Product: gcc
           Version: 12.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++-12.0.0-alpha20211114 snapshot (g:3057f1ab737582a9fb37a3fb967ed8bf3659f2f4)
ICEs when compiling the following testcase, reduced from
test/OpenMP/masked_codegen.cpp from the clang 13.0.0 test suite, w/ -fopenmp:

int c;

void
lambda_masked (int a, int b)
{
  [=] ()
  {
#pragma omp masked
    c = a + b;
  };
}

% g++-12.0.0 -fopenmp -c zvbd9hfy.cpp
zvbd9hfy.cpp: In lambda function:
zvbd9hfy.cpp:10:3: sorry, unimplemented: unexpected AST of kind omp_masked
   10 |   };
      |   ^
zvbd9hfy.cpp:10:3: internal compiler error: in potential_constant_expression_1,
at cp/constexpr.c:9104
0x9776f3 potential_constant_expression_1
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/constexpr.c:9104
0x978f51 potential_constant_expression_1
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/constexpr.c:8445
0x97a16f potential_constant_expression_1(tree_node*, bool, bool, bool, int)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/constexpr.c:9126
0x97a16f potential_constant_expression(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/constexpr.c:9135
0x9e7d4b finish_function(bool)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/decl.c:17740
0xa24a2a finish_lambda_function(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/lambda.c:1559
0xabb92e cp_parser_lambda_body
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:11668
0xabb92e cp_parser_lambda_expression
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:10987
0xabc4d3 cp_parser_primary_expression
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:5674
0xabf18e cp_parser_postfix_expression
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:7580
0xaa696a cp_parser_binary_expression
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:9910
0xaa751a cp_parser_assignment_expression
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:10214
0xaa91c9 cp_parser_expression
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:10384
0xaac9d8 cp_parser_expression_statement
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:12578
0xab9b3a cp_parser_statement
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:12374
0xababed cp_parser_statement_seq_opt
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:12726
0xabacc8 cp_parser_compound_statement
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:12675
0xadb733 cp_parser_function_body
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:24899
0xadb733 cp_parser_ctor_initializer_opt_and_function_body
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:24950
0xadc700 cp_parser_function_definition_after_declarator
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211114/work/gcc-12-20211114/gcc/cp/parser.c:31080

Reply via email to