https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89662
Bug ID: 89662 Summary: [9 Regression] ICE in contains_struct_check, at tree.h:3545 Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Changed between 20180708 and 20180722, with option -Wall or -Warray-bounds : $ cat z1.c void *f (void *c) { return c; } void g () { int n = 1; char c[n]; h (f(c) - 1); } $ gcc-9-20190310 -c z1.c -O2 -Wall z1.c: In function 'g': z1.c:9:3: warning: implicit declaration of function 'h' [-Wimplicit-function-declaration] 9 | h (f(c) - 1); | ^ during GIMPLE pass: vrp z1.c:5:6: internal compiler error: Segmentation fault 5 | void g () | ^ 0xc2668f crash_signal ../../gcc/toplev.c:326 0x8661a7 contains_struct_check(tree_node const*, tree_node_structure_enum, char const*, int, char const*) ../../gcc/tree.h:3545 0x8661a7 wi::extended_tree<128>::extended_tree(tree_node const*) ../../gcc/tree.h:5629 0xeeebe6 generic_wide_int<wi::extended_tree<128> >::generic_wide_int<tree_node const*>(tree_node const* const&) ../../gcc/wide-int.h:780 0xeeebe6 wi::to_offset(tree_node const*) ../../gcc/tree.h:5581 0xeeebe6 vrp_prop::check_mem_ref(unsigned int, tree_node*, bool) ../../gcc/tree-vrp.c:4726 0xeef466 vrp_prop::search_for_addr_array(tree_node*, unsigned int) ../../gcc/tree-vrp.c:4785 0xeef629 check_array_bounds ../../gcc/tree-vrp.c:4884 0xf223c3 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:12108 0x95d9f0 walk_gimple_op(gimple*, tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) ../../gcc/gimple-walk.c:253 0xed9ef1 check_array_bounds_dom_walker::before_dom_children(basic_block_def*) ../../gcc/tree-vrp.c:4934 0x1486517 dom_walker::walk(basic_block_def*) ../../gcc/domwalk.c:353 0xede54c vrp_prop::check_all_array_refs() ../../gcc/tree-vrp.c:4951 0xedfee5 vrp_prop::vrp_finalize(bool) ../../gcc/tree-vrp.c:6712 0xeeff2e execute_vrp ../../gcc/tree-vrp.c:6780