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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ok... so the issue is we have "invalid" tree sharing of &c in both
fn4.constprop
and fn2.constprop.  Correctly without BLOCK on the location.  But then we
expand
fn4.constprop and do

expand_gimple_stmt_1 (stmt=<gimple_assign 0x7ffff6a0ac30>)
    at /space/rguenther/src/svn/trunk/gcc/cfgexpand.c:3592
3592                if (TREE_CLOBBER_P (rhs))
(gdb) l
3587                tree rhs = gimple_assign_rhs1 (assign_stmt);
3588                gcc_assert (get_gimple_rhs_class (gimple_expr_code (stmt))
3589                            == GIMPLE_SINGLE_RHS);
3590                if (gimple_has_location (stmt) && CAN_HAVE_LOCATION_P
(rhs))
3591                  SET_EXPR_LOCATION (rhs, gimple_location (stmt));
3592                if (TREE_CLOBBER_P (rhs))

which sets this invalid location on the shared tree.

Reply via email to