diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-09-30 08:59:18 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-09-30 08:59:18 +0000 |
commit | b0464da8357e6925a25a5a63864b1a2534d494a2 (patch) | |
tree | 369a2b9a95a3ebf24905c8a152eac44b65f95e9c /gcc/expr.c | |
parent | 30f1549bd336fd5c63a65d0715122301e0837a02 (diff) | |
download | gcc-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.c | 8 |
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) |