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.