https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92452
Bug ID: 92452 Summary: [10 Regression] ICE in vrp_prop::check_array_ref at tree-vrp.c:4153 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: --- Host: x86_64-linux-gnu Target: aarch64-linux-gnu I see that with a cross compiler: $ aarch64-linux-gnu-gcc /home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/pr60101.c -Os -Warray-bounds=1 -c during GIMPLE pass: vrp /home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/pr60101.c: In function ‘foo’: /home/marxin/Programming/gcc/gcc/testsuite/c-c++-common/pr60101.c:8:1: internal compiler error: Segmentation fault 8 | foo (double _Complex *x, double _Complex *y, double _Complex *z, unsigned int l, int w) | ^~~ 0xaf39cf crash_signal /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/toplev.c:329 0x7f0e5ac3e14f ??? /usr/src/debug/glibc-2.30-1.2.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 0x83a1dd int_const_binop(tree_code, tree_node const*, tree_node const*, int) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/fold-const.c:1179 0xd3c4bf vrp_prop::check_array_ref(unsigned int, tree_node*, bool) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vrp.c:4153 0xd4fc87 vrp_prop::check_array_ref(unsigned int, tree_node*, bool) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vrp.c:4077 0xd4fc87 check_array_bounds /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vrp.c:4653 0xd69503 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/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree.c:11955 0xd69807 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/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree.c:12285 0x89b5b0 walk_gimple_op(gimple*, tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/gimple-walk.c:202 0xd3a0a0 check_array_bounds_dom_walker::before_dom_children(basic_block_def*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vrp.c:4711 0x11e16a5 dom_walker::walk(basic_block_def*) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/domwalk.c:309 0xd4115e vrp_prop::check_all_array_refs() /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vrp.c:4728 0xd47036 vrp_prop::vrp_finalize(bool) /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vrp.c:6752 0xd4cf03 execute_vrp /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-trunk-aarch64/build/gcc/tree-vrp.c:6820 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.