diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2014-03-20 11:35:22 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2014-03-20 11:35:22 +0000 |
commit | 9ee5337dd54630e6f0b2d98dc104a8c05d24384d (patch) | |
tree | 54c489ab22247d4fa7fb01653d3a05e24e36c82e /gcc | |
parent | 9964e8304b1ea841583e3aea27fdbc65281e0ed3 (diff) | |
download | gcc-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/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/calls.c | 7 | ||||
-rw-r--r-- | gcc/cfgexpand.c | 10 | ||||
-rw-r--r-- | gcc/expr.c | 11 |
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 @@ -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; |