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