summaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-09-30 08:59:18 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-09-30 08:59:18 +0000
commitb0464da8357e6925a25a5a63864b1a2534d494a2 (patch)
tree369a2b9a95a3ebf24905c8a152eac44b65f95e9c /gcc/expr.c
parent30f1549bd336fd5c63a65d0715122301e0837a02 (diff)
downloadgcc-b0464da8357e6925a25a5a63864b1a2534d494a2.tar.gz
* expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22666 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 19885880efc..3582f5b9124 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -5394,6 +5394,10 @@ expand_expr (exp, target, tmode, modifier)
if (target
&& TREE_CODE (exp) != INTEGER_CST
&& TREE_CODE (exp) != PARM_DECL
+ && TREE_CODE (exp) != ARRAY_REF
+ && TREE_CODE (exp) != COMPONENT_REF
+ && TREE_CODE (exp) != BIT_FIELD_REF
+ && TREE_CODE (exp) != INDIRECT_REF
&& TREE_CODE (exp) != VAR_DECL)
{
enum machine_mode mode = GET_MODE (target);
@@ -5405,6 +5409,10 @@ expand_expr (exp, target, tmode, modifier)
if (TREE_CODE (exp) != INTEGER_CST
&& TREE_CODE (exp) != PARM_DECL
+ && TREE_CODE (exp) != ARRAY_REF
+ && TREE_CODE (exp) != COMPONENT_REF
+ && TREE_CODE (exp) != BIT_FIELD_REF
+ && TREE_CODE (exp) != INDIRECT_REF
&& TREE_CODE (exp) != VAR_DECL
&& GET_MODE_CLASS (tmode) == MODE_INT
&& tmode > MAX_INTEGER_COMPUTATION_MODE)