calls.c (store_one_arg): Remove incorrect const qualification on the type of the temporary.
* 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. From-SVN: r208694
This commit is contained in:
parent
9964e8304b
commit
9ee5337dd5
@ -1,3 +1,11 @@
|
||||
2014-03-20 Eric Botcazou <ebotcazou@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.
|
||||
|
||||
2014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
|
||||
|
||||
* config/arm/arm.c (arm_dwarf_register_span): Update the element number
|
||||
|
@ -4451,11 +4451,8 @@ store_one_arg (struct arg_data *arg, rtx argblock, int flags,
|
||||
|
||||
if (save_mode == BLKmode)
|
||||
{
|
||||
tree ot = TREE_TYPE (arg->tree_value);
|
||||
tree nt = build_qualified_type (ot, (TYPE_QUALS (ot)
|
||||
| TYPE_QUAL_CONST));
|
||||
|
||||
arg->save_area = assign_temp (nt, 1, 1);
|
||||
arg->save_area
|
||||
= assign_temp (TREE_TYPE (arg->tree_value), 1, 1);
|
||||
preserve_temp_slots (arg->save_area);
|
||||
emit_block_move (validize_mem (arg->save_area), stack_area,
|
||||
GEN_INT (arg->locate.size.constant),
|
||||
|
@ -3105,15 +3105,11 @@ expand_return (tree retval)
|
||||
&& (REG_P (result_rtl)
|
||||
|| (GET_CODE (result_rtl) == PARALLEL)))
|
||||
{
|
||||
/* Calculate the return value into a temporary (usually a pseudo
|
||||
reg). */
|
||||
tree ot = TREE_TYPE (DECL_RESULT (current_function_decl));
|
||||
tree nt = build_qualified_type (ot, TYPE_QUALS (ot) | TYPE_QUAL_CONST);
|
||||
|
||||
val = assign_temp (nt, 0, 1);
|
||||
/* Compute the return value into a temporary (usually a pseudo reg). */
|
||||
val
|
||||
= assign_temp (TREE_TYPE (DECL_RESULT (current_function_decl)), 0, 1);
|
||||
val = expand_expr (retval_rhs, val, GET_MODE (val), EXPAND_NORMAL);
|
||||
val = force_not_mem (val);
|
||||
/* Return the calculated value. */
|
||||
expand_value_return (val);
|
||||
}
|
||||
else
|
||||
|
11
gcc/expr.c
11
gcc/expr.c
@ -7867,11 +7867,7 @@ expand_constructor (tree exp, rtx target, enum expand_modifier modifier,
|
||||
if (avoid_temp_mem)
|
||||
return NULL_RTX;
|
||||
|
||||
target
|
||||
= assign_temp (build_qualified_type (type, (TYPE_QUALS (type)
|
||||
| (TREE_READONLY (exp)
|
||||
* TYPE_QUAL_CONST))),
|
||||
TREE_ADDRESSABLE (exp), 1);
|
||||
target = assign_temp (type, TREE_ADDRESSABLE (exp), 1);
|
||||
}
|
||||
|
||||
store_constructor (exp, target, 0, int_expr_size (exp));
|
||||
@ -10088,10 +10084,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
|
||||
and need be, put it there. */
|
||||
else if (CONSTANT_P (op0) || (!MEM_P (op0) && must_force_mem))
|
||||
{
|
||||
tree nt = build_qualified_type (TREE_TYPE (tem),
|
||||
(TYPE_QUALS (TREE_TYPE (tem))
|
||||
| TYPE_QUAL_CONST));
|
||||
memloc = assign_temp (nt, 1, 1);
|
||||
memloc = assign_temp (TREE_TYPE (tem), 1, 1);
|
||||
emit_move_insn (memloc, op0);
|
||||
op0 = memloc;
|
||||
mem_attrs_from_type = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user