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

            Bug ID: 95232
           Summary: [11 Regression] ICE in make_ssa_name_fn, at
                    tree-ssanames.c:279 since r11-283-gf315d1477d5164cb
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: jason at gcc dot gnu.org
  Target Milestone: ---

I see the following ICE:

$ cat para.ii
template <class T>
void foo(T argc) {}

template <typename T>
int tmain(T argc) {
  typedef double (*chunk_t)[argc[0][0]];
#pragma omp parallel
  {
  foo(argc);
  chunk_t var;(void)var[0][0];
  }
  return 0;
}

int global;
int main (int argc, char **argv) {
  int a[argc];
#pragma omp parallel shared(global, a) default(none)
  foo(a[1]), a[1] = global;


#pragma omp parallel private(global, a) default(none)
#pragma omp parallel shared(global, a) default(none)
  foo(a[1]), a[1] = global;


#pragma omp parallel shared(global, a) default(none)
#pragma omp parallel shared(global, a) default(none)
  foo(a[1]), a[1] = global;

  return tmain(argv);
}

$ g++ para.ii -ftrapv -fnon-call-exceptions -Os -fsanitize=undefined -c
during IPA pass: inline
para.ii: In function ‘int main(int, char**)’:
para.ii:31:15: internal compiler error: in make_ssa_name_fn, at
tree-ssanames.c:279
   31 |   return tmain(argv);
      |          ~~~~~^~~~~~
0x82fa3b make_ssa_name_fn(function*, tree_node*, gimple*, unsigned int)
        /home/marxin/Programming/gcc/gcc/tree-ssanames.c:279
0x112d344 make_ssa_name
        /home/marxin/Programming/gcc/gcc/tree-ssanames.h:115
0x112d344 remap_ssa_name
        /home/marxin/Programming/gcc/gcc/tree-inline.c:258
0x11305ef copy_tree_body_r(tree_node**, int*, void*)
        /home/marxin/Programming/gcc/gcc/tree-inline.c:1252
0x1389633 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*> >*))
        /home/marxin/Programming/gcc/gcc/tree.c:11956
0x112b7ce remap_type_1
        /home/marxin/Programming/gcc/gcc/tree-inline.c:619
0x112bc19 remap_type(tree_node*, copy_body_data*)
        /home/marxin/Programming/gcc/gcc/tree-inline.c:736
0x112b8a1 remap_type_1
        /home/marxin/Programming/gcc/gcc/tree-inline.c:555
0x112bc19 remap_type(tree_node*, copy_body_data*)
        /home/marxin/Programming/gcc/gcc/tree-inline.c:736
0x112b294 remap_type_1
        /home/marxin/Programming/gcc/gcc/tree-inline.c:448
0x112bc19 remap_type(tree_node*, copy_body_data*)
        /home/marxin/Programming/gcc/gcc/tree-inline.c:736
0x112bd1f remap_decl(tree_node*, copy_body_data*)
        /home/marxin/Programming/gcc/gcc/tree-inline.c:400
0x112c5ec remap_decls
        /home/marxin/Programming/gcc/gcc/tree-inline.c:785
0x112e3ba remap_block
        /home/marxin/Programming/gcc/gcc/tree-inline.c:843
0x112e465 remap_blocks
        /home/marxin/Programming/gcc/gcc/tree-inline.c:865
0x11378f6 expand_call_inline
        /home/marxin/Programming/gcc/gcc/tree-inline.c:4963
0x11385f9 gimple_expand_calls_inline
        /home/marxin/Programming/gcc/gcc/tree-inline.c:5277
0x11385f9 optimize_inline_calls(tree_node*)
        /home/marxin/Programming/gcc/gcc/tree-inline.c:5450
0xe98b23 inline_transform(cgraph_node*)
        /home/marxin/Programming/gcc/gcc/ipa-inline-transform.c:736
0xfd779a execute_one_ipa_transform_pass
        /home/marxin/Programming/gcc/gcc/passes.c:2233
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to