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

            Bug ID: 92349
           Summary: [10 Regression] ICE in vrp_prop::check_array_ref at
                    gcc/tree-vrp.c:4181 since r277728
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: msebor at gcc dot gnu.org
  Target Milestone: ---

Following is causing ICE:

$ ./xgcc -B.
/home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/execute/pr82210.c
-Warray-bounds -Os -c
during GIMPLE pass: vrp
/home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/execute/pr82210.c: In
function ‘foo’:
/home/marxin/Programming/gcc/gcc/testsuite/gcc.c-torture/execute/pr82210.c:5:1:
internal compiler error: Segmentation fault
    5 | foo (int size)
      | ^~~
0x11e0688 crash_signal
        ../../gcc/toplev.c:326
0x7f6b892a814f ???
       
/usr/src/debug/glibc-2.30-1.2.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x890854 contains_struct_check(tree_node const*, tree_node_structure_enum, char
const*, int, char const*)
        ../../gcc/tree.h:3636
0xc947ad int_const_binop(tree_code, tree_node const*, tree_node const*, int)
        ../../gcc/fold-const.c:1179
0x15e69db vrp_prop::check_array_ref(unsigned int, tree_node*, bool)
        ../../gcc/tree-vrp.c:4181
0x15e8f41 check_array_bounds
        ../../gcc/tree-vrp.c:4678
0x16231c9 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*> >*))
        ../../gcc/tree.c:11942
0x1624830 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*> >*))
        ../../gcc/tree.c:12272
0xd64a1d walk_gimple_op(gimple*, tree_node* (*)(tree_node**, int*, void*),
walk_stmt_info*)
        ../../gcc/gimple-walk.c:202
0x15e909d check_array_bounds_dom_walker::before_dom_children(basic_block_def*)
        ../../gcc/tree-vrp.c:4736
0x1f59e21 dom_walker::walk(basic_block_def*)
        ../../gcc/domwalk.c:309
0x15e9101 vrp_prop::check_all_array_refs()
        ../../gcc/tree-vrp.c:4753
0x15eff9b vrp_prop::vrp_finalize(bool)
        ../../gcc/tree-vrp.c:6797
0x15f0030 execute_vrp
        ../../gcc/tree-vrp.c:6865
0x15f022f execute
        ../../gcc/tree-vrp.c:6947
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