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

--- Comment #6 from Andrew Macleod <amacleod at redhat dot com> ---
So if I remove the assert from tree-vrp which is triggering, it simply causes
an ice elsewhere:


 dmm.c: In function ‘d’:
mm.c:8:10: warning: function may return address of local variable
[-Wreturn-local-addr]
    8 |   return f;
      |          ^
mm.c:3:7: note: declared here
    3 |   int e, *f = &e;
      |       ^
 mainduring GIMPLE pass: pre
mm.c: In function ‘main’:
mm.c:10:5: internal compiler error: Segmentation fault
   10 | int main() { *b = d(); }
      |     ^~~~
0x3b38bde internal_error(char const*, ...)
        /gcc/master/gcc/gcc/diagnostic-global-context.cc:787
0x1ac8b53 crash_signal
        /gcc/master/gcc/gcc/toplev.cc:325
0x1da49bb ao_ref_init_from_vn_reference(ao_ref*, int, int, tree_node*,
vec<vn_reference_op_struct, va_heap, vl_ptr> const&)
        /gcc/master/gcc/gcc/tree-ssa-sccvn.cc:1222
0x1daf642 vn_reference_lookup_pieces(tree_node*, int, int, tree_node*,
vec<vn_reference_op_struct, va_heap, vl_ptr>, vn_reference_s**, vn_lookup_kind)
        /gcc/master/gcc/gcc/tree-ssa-sccvn.cc:4166
0x1d77529 compute_avail
        /gcc/master/gcc/gcc/tree-ssa-pre.cc:4377
0x1d78140 execute
        /gcc/master/gcc/gcc/tree-ssa-pre.cc:4641
./cc1 -O3 mm.c

Reply via email to