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

            Bug ID: 90898
           Summary: [8/9/10 Regression] ICE in
                    insert_clobber_before_stack_restore, at
                    tree-ssa-ccp.c:2112
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Affects versions down to gcc-4.7, gcc-4.6 compiles it :
(gcc-10 compiles with -O0, and of course with int*)


$ cat z1.c
void f (int p)
{
  p = __builtin_stack_save ();
  int a[({ {} 2; })];
}


$ cat z2.c
void f (int p)
{
  p = __builtin_stack_save ();
  int a[({ void h() {} 2; })];
}


$ gcc-10-20190616 -c z1.c -O2
z1.c: In function 'f':
z1.c:3:5: warning: assignment to 'int' from 'void *' makes integer from pointer
without a cast [-Wint-conversion]
    3 |   p = __builtin_stack_save ();
      |     ^
during GIMPLE pass: ccp
z1.c:5:1: internal compiler error: in insert_clobber_before_stack_restore, at
tree-ssa-ccp.c:2112
    5 | }
      | ^
0xd5f26d insert_clobber_before_stack_restore
        ../../gcc/tree-ssa-ccp.c:2112
0xd5faf1 insert_clobbers_for_var
        ../../gcc/tree-ssa-ccp.c:2159
0xd5faf1 ccp_folder::fold_stmt(gimple_stmt_iterator*)
        ../../gcc/tree-ssa-ccp.c:2312
0xdf3426 substitute_and_fold_dom_walker::before_dom_children(basic_block_def*)
        ../../gcc/tree-ssa-propagate.c:1082
0x14b5527 dom_walker::walk(basic_block_def*)
        ../../gcc/domwalk.c:312
0xdf2895 substitute_and_fold_engine::substitute_and_fold(basic_block_def*)
        ../../gcc/tree-ssa-propagate.c:1194
0xd56f74 ccp_finalize
        ../../gcc/tree-ssa-ccp.c:991
0xd56f74 do_ssa_ccp
        ../../gcc/tree-ssa-ccp.c:2504
0xd56f74 execute
        ../../gcc/tree-ssa-ccp.c:2547

Reply via email to