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

            Bug ID: 98742
           Summary: [11 Regression] ICE: tree check: expected class
                    'type', have 'exceptional' (error_mark) in
                    finish_omp_clauses, at cp/semantics.c:7435
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: 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++-11.0.0-alpha20210117 snapshot (g:0f4c8f517b7954e113afb4d5c7212123c8ee2418)
ICEs when compiling the following testcase, extracted from
test/OpenMP/task_messages.cpp from the clang 11.0.1 test suite, w/ -fopenmp:

void foo() {
#pragma omp task detach(0)
  ;
}

% g++-11.0.0 -fopenmp -c xmwkrwrg.cpp
xmwkrwrg.cpp: In function 'void foo()':
xmwkrwrg.cpp:2:25: error: expected unqualified-id before numeric constant
    2 | #pragma omp task detach(0)
      |                         ^
xmwkrwrg.cpp:2:27: internal compiler error: tree check: expected class 'type',
have 'exceptional' (error_mark) in finish_omp_clauses, at cp/semantics.c:7435
    2 | #pragma omp task detach(0)
      |                           ^
0x80a0d3 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/tree.c:9862
0x6cc3b5 tree_class_check(tree_node*, tree_code_class, char const*, int, char
const*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/tree.h:3461
0x6cc3b5 finish_omp_clauses(tree_node*, c_omp_region_type)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/semantics.c:7435
0xa59ef4 cp_parser_omp_all_clauses
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:38597
0xa3bd17 cp_parser_omp_task
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:41107
0xa3bd17 cp_parser_omp_construct
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:44371
0xa3d68d cp_parser_pragma
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:45000
0xa45b08 cp_parser_statement
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:11720
0xa4688d cp_parser_statement_seq_opt
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:12112
0xa46968 cp_parser_compound_statement
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:12062
0xa63ca4 cp_parser_function_body
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:23990
0xa63ca4 cp_parser_ctor_initializer_opt_and_function_body
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:24041
0xa658ca cp_parser_function_definition_after_declarator
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:29931
0xa66d29 cp_parser_function_definition_from_specifiers_and_declarator
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:29847
0xa66d29 cp_parser_init_declarator
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:21563
0xa429e7 cp_parser_simple_declaration
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:14381
0xa700cd cp_parser_declaration
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:14078
0xa70bc8 cp_parser_toplevel_declaration
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:14107
0xa70bc8 cp_parser_translation_unit
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:4936
0xa70bc8 c_parse_file()
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20210117/work/gcc-11-20210117/gcc/cp/parser.c:45172

Reply via email to