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

            Bug ID: 100957
           Summary: [12 Regression] ICE: Segmentation fault (in
                    copy_tree_body_r)
           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-alpha20210606 snapshot (g:fed94fc9e704b0de228499495b7ca4d4c79ef76b)
ICEs when compiling the following testcase, reduced from
clang/testsuite/OpenMP/ordered_doacross_codegen.cpp from the clang 12.0.0 test
suite, w/ -fopenmp:

struct TestStruct {
  TestStruct() {
#pragma omp for ordered(2)
    for (int j = 0; j < 1; j++)
      for (int i = 0; i < 1; i++)
      {
#pragma omp ordered depend(source)
        ;
      }
  }
};

% g++-12.0.0 -fopenmp -c yaq6cvjp.cpp
yaq6cvjp.cpp: In constructor 'TestStruct::TestStruct()':
yaq6cvjp.cpp:10:3: internal compiler error: Segmentation fault
   10 |   }
      |   ^
0x10e6bef crash_signal
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/toplev.c:327
0x116ed6d copy_tree_body_r(tree_node**, int*, void*)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/tree-inline.c:1463
0x13e403a walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/tree.c:10969
0x13e4211 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/tree.c:11318
0xa3afcc clone_body
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/optimize.c:112
0xa3afcc maybe_clone_body(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/optimize.c:681
0xaf4971 expand_or_defer_fn_1(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/semantics.c:4645
0xb01816 expand_or_defer_fn_1(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/semantics.c:4675
0xb01816 expand_or_defer_fn(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/semantics.c:4676
0xa7dcf1 cp_parser_function_definition_after_declarator
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:30157
0xa7e19c cp_parser_late_parsing_for_member
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:31051
0xa57498 cp_parser_class_specifier_1
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:25249
0xa580c7 cp_parser_class_specifier
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:25277
0xa580c7 cp_parser_type_specifier
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:18509
0xa59111 cp_parser_decl_specifier_seq
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:15110
0xa59fe4 cp_parser_simple_declaration
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:14366
0xa88415 cp_parser_declaration
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:14184
0xa89170 cp_parser_toplevel_declaration
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:14213
0xa89170 cp_parser_translation_unit
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:4942
0xa89170 c_parse_file()
       
/var/tmp/portage/sys-devel/gcc-12.0.0_alpha20210606/work/gcc-12-20210606/gcc/cp/parser.c:45509

Reply via email to