aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2011-04-18 21:53:08 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2011-04-18 21:53:08 +0000
commit7254cb57152a417a648f2217d5f8695e636d7cde (patch)
treea729868be5c4ccb93ba85b1e17e36fafa8e8ca3b /gcc
parent474e8e70a6a64862810d906161d1f5919ebd5f29 (diff)
downloadgcc-7254cb57152a417a648f2217d5f8695e636d7cde.zip
gcc-7254cb57152a417a648f2217d5f8695e636d7cde.tar.gz
gcc-7254cb57152a417a648f2217d5f8695e636d7cde.tar.bz2
expr.c (expand_expr_real_2): Use GET_MODE instead of TYPE_MODE.
2011-05-18 Michael Matz <matz@suse.de> Steve Ellcey <sje@cup.hp.com> * expr.c (expand_expr_real_2): Use GET_MODE instead of TYPE_MODE. Co-Authored-By: Steve Ellcey <sje@cup.hp.com> From-SVN: r172673
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expr.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8b89c11..fb7509c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-05-18 Michael Matz <matz@suse.de>
+ Steve Ellcey <sje@cup.hp.com>
+
+ * expr.c (expand_expr_real_2): Use GET_MODE instead of TYPE_MODE.
+
2011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
* doc/passes.texi: Fill crossref nodes.
diff --git a/gcc/expr.c b/gcc/expr.c
index 491d2b1..1bafe6a 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -7360,7 +7360,10 @@ expand_expr_real_2 (sepops ops, rtx target, enum machine_mode tmode,
else if (CONSTANT_P (op0))
{
tree inner_type = TREE_TYPE (treeop0);
- enum machine_mode inner_mode = TYPE_MODE (inner_type);
+ enum machine_mode inner_mode = GET_MODE (op0);
+
+ if (inner_mode == VOIDmode)
+ inner_mode = TYPE_MODE (inner_type);
if (modifier == EXPAND_INITIALIZER)
op0 = simplify_gen_subreg (mode, op0, inner_mode,