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.