> 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

Reply via email to