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

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:

$ cat warray-bounds.c
a_n_0_0_a[][0];
a_n_0_0() { T(((char *)a_n_0_0_a)[1]); }

$ gcc  warray-bounds.c -c -O2 -Warray-bounds=2 -w
during GIMPLE pass: vrp
warray-bounds.c: In function ‘a_n_0_0’:
warray-bounds.c:2:1: internal compiler error: Floating point exception
    2 | a_n_0_0() { T(((char *)a_n_0_0_a)[1]); }
      | ^~~~~~~
0xf59efa crash_signal
        /home/marxin/Programming/gcc/gcc/toplev.cc:322
0x7ffff78567bf ???
       
/usr/src/debug/glibc-2.35-5.1.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
0x1d1b484 array_bounds_checker::check_mem_ref(unsigned int, tree_node*, bool)
        /home/marxin/Programming/gcc/gcc/gimple-array-bounds.cc:537
0x1d1baf9 array_bounds_checker::check_array_bounds(tree_node**, int*, void*)
        /home/marxin/Programming/gcc/gcc/gimple-array-bounds.cc:727
0x12662cb 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/Programming/gcc/gcc/tree.cc:11237
0xc4d120 walk_gimple_op(gimple*, tree_node* (*)(tree_node**, int*, void*),
walk_stmt_info*)
        /home/marxin/Programming/gcc/gcc/gimple-walk.cc:202
0x1d19a5a check_array_bounds_dom_walker::before_dom_children(basic_block_def*)
        /home/marxin/Programming/gcc/gcc/gimple-array-bounds.cc:790
0x1d02fe5 dom_walker::walk(basic_block_def*)
        /home/marxin/Programming/gcc/gcc/domwalk.cc:311
0x1d19c9b array_bounds_checker::check()
        /home/marxin/Programming/gcc/gcc/gimple-array-bounds.cc:804
0x123e421 execute_vrp
        /home/marxin/Programming/gcc/gcc/tree-vrp.cc:4235
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to