aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-10-21 20:00:30 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2015-10-21 18:00:30 +0000
commitb6d3c0311a633503f63884eb8eec3679256ace2c (patch)
tree2bfe7b1e099bea665cddc4e5183b26a96c308ecc /gcc/expr.c
parente9122ef60858058cb474b3d3bb51507b7fd1d14c (diff)
downloadgcc-b6d3c0311a633503f63884eb8eec3679256ace2c.zip
gcc-b6d3c0311a633503f63884eb8eec3679256ace2c.tar.gz
gcc-b6d3c0311a633503f63884eb8eec3679256ace2c.tar.bz2
re PR middle-end/67966 (ICE in convert_move, at expr.c:282)
PR middle-end/67966 * tree.c (verify_type): Verify that TYPE_MODE match between TYPE_CANONICAL and type. * expr.c (store_expr_with_bounds): Revert my previous change. * expmed.c (store_bit_field_1): Revert prevoius change. * gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE to match for all types. From-SVN: r229132
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 595324d..adde00d 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -5425,14 +5425,6 @@ store_expr_with_bounds (tree exp, rtx target, int call_param_p,
temp = convert_modes (GET_MODE (target), TYPE_MODE (TREE_TYPE (exp)),
temp, TYPE_UNSIGNED (TREE_TYPE (exp)));
- /* We allow move between structures of same size but different mode.
- If source is in memory and the mode differs, simply change the memory. */
- if (GET_MODE (temp) == BLKmode && GET_MODE (target) != BLKmode)
- {
- gcc_assert (MEM_P (temp));
- temp = adjust_address_nv (temp, GET_MODE (target), 0);
- }
-
/* If value was not generated in the target, store it there.
Convert the value to TARGET's type first if necessary and emit the
pending incrementations that have been queued when expanding EXP.