> 2014-03-20 Eric Botcazou <ebotca...@adacore.com>
>
> * calls.c (store_one_arg): Remove incorrect const qualification on the
> type of the temporary.
> * cfgexpand.c (expand_return): Likewise.
> * expr.c (expand_constructor): Likewise.
> (expand_expr_real_1): Likewise.
There is also a related comment in the last function, removed as well.
2014-03-20 Eric Botcazou <ebotca...@adacore.com>
* expr.c (expand_expr_real_1): Remove outdated comment.
--
Eric Botcazou
Index: expr.c
===================================================================
--- expr.c (revision 208694)
+++ expr.c (working copy)
@@ -1993,7 +1993,6 @@ emit_group_store (rtx orig_dst, rtx src,
/* It is unclear if we can ever reach here, but we may as well handle
it. Allocate a temporary, and split this into a store/load to/from
the temporary. */
-
temp = assign_stack_temp (GET_MODE (dst), ssize);
emit_group_store (temp, src, type, ssize);
emit_group_load (dst, temp, type, ssize);
@@ -10242,19 +10241,13 @@ expand_expr_real_1 (tree exp, rtx target
/* If the result type is BLKmode, store the data into a temporary
of the appropriate type, but with the mode corresponding to the
- mode for the data we have (op0's mode). It's tempting to make
- this a constant type, since we know it's only being stored once,
- but that can cause problems if we are taking the address of this
- COMPONENT_REF because the MEM of any reference via that address
- will have flags corresponding to the type, which will not
- necessarily be constant. */
+ mode for the data we have (op0's mode). */
if (mode == BLKmode)
{
- rtx new_rtx;
-
- new_rtx = assign_stack_temp_for_type (ext_mode,
- GET_MODE_BITSIZE (ext_mode),
- type);
+ rtx new_rtx
+ = assign_stack_temp_for_type (ext_mode,
+ GET_MODE_BITSIZE (ext_mode),
+ type);
emit_move_insn (new_rtx, op0);
op0 = copy_rtx (new_rtx);
PUT_MODE (op0, BLKmode);