aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2014-03-20 11:35:22 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2014-03-20 11:35:22 +0000
commit9ee5337dd54630e6f0b2d98dc104a8c05d24384d (patch)
tree54c489ab22247d4fa7fb01653d3a05e24e36c82e /gcc
parent9964e8304b1ea841583e3aea27fdbc65281e0ed3 (diff)
downloadgcc-9ee5337dd54630e6f0b2d98dc104a8c05d24384d.zip
gcc-9ee5337dd54630e6f0b2d98dc104a8c05d24384d.tar.gz
gcc-9ee5337dd54630e6f0b2d98dc104a8c05d24384d.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/calls.c7
-rw-r--r--gcc/cfgexpand.c10
-rw-r--r--gcc/expr.c11
4 files changed, 15 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c72bbe3..f064064 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/calls.c b/gcc/calls.c
index f392319..f0c92dd 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -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),
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index dd163a5..b7f6360 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -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
diff --git a/gcc/expr.c b/gcc/expr.c
index be62c53..2dcdfc2 100644
--- a/gcc/expr.c
+++ b/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;