> Index: expr.c > =================================================================== > --- expr.c (revision 228267) > +++ expr.c (working copy) > @@ -5462,7 +5462,12 @@ store_expr_with_bounds (tree exp, rtx ta > { > if (GET_MODE (temp) != GET_MODE (target) && GET_MODE (temp) != > VOIDmode) { > - if (GET_MODE (target) == BLKmode) > + if (GET_MODE (temp) == BLKmode && GET_MODE (target) != BLKmode) > + { > + gcc_assert (AGGREGATE_TYPE_P (TREE_TYPE (exp))); > + temp = simplify_gen_subreg (GET_MODE (target), temp, BLKmode, 0); > + }
Are you really trying to create a SUBREG with BLKmode here? -- Eric Botcazou