https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83053
Bug ID: 83053 Summary: [8 Regression] ICE in vrp_prop::check_array_ref at cc/tree-vrp.c:4811 Product: gcc Version: 7.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: --- Starting from Martin's commit r254830 we ICE on: $ gfortran /home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/actual_array_offset_1.f90 -Ofast -Warray-bounds=1 -c during GIMPLE pass: vrp /home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/actual_array_offset_1.f90:59:0: recursive subroutine quicksort( array ) internal compiler error: Segmentation fault 0xc1478f crash_signal .././../gcc/toplev.c:325 0x92bed4 contains_struct_check(tree_node const*, tree_node_structure_enum, char const*, int, char const*) .././../gcc/tree.h:3459 0x92bed4 wi::to_wide(tree_node const*) .././../gcc/tree.h:5247 0xebb658 vrp_prop::check_array_ref(unsigned int, tree_node*, bool) .././../gcc/tree-vrp.c:4811 0xecc434 vrp_prop::check_array_ref(unsigned int, tree_node*, bool) .././../gcc/tree-vrp.c:4780 0xecc434 vrp_prop::search_for_addr_array(tree_node*, unsigned int) .././../gcc/tree-vrp.c:4901 0xecca79 check_array_bounds .././../gcc/tree-vrp.c:4988 0xef7003 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*)) .././../gcc/tree.c:11122 0x97a083 walk_gimple_op(gimple*, tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) .././../gcc/gimple-walk.c:202 0xebca12 vrp_prop::check_all_array_refs() .././../gcc/tree-vrp.c:5028 0xebe6bf vrp_prop::vrp_finalize(bool) .././../gcc/tree-vrp.c:6791 0xecd3a8 execute_vrp .././../gcc/tree-vrp.c:6864