diff options
author | Richard Stallman <rms@gnu.org> | 1993-07-28 18:46:31 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-07-28 18:46:31 +0000 |
commit | b6f01001b162dfcb6919f37908ab7dd01edc831f (patch) | |
tree | b75e63e824412d32e3501f4c9dbb9ea40e6cafc5 /gcc | |
parent | 7f3d4b2f7586a5049a8dbb8a572ebf04ba58c92e (diff) | |
download | gcc-b6f01001b162dfcb6919f37908ab7dd01edc831f.zip gcc-b6f01001b162dfcb6919f37908ab7dd01edc831f.tar.gz gcc-b6f01001b162dfcb6919f37908ab7dd01edc831f.tar.bz2 |
(expand_expr, case ADDR_EXPR): Treat CONCAT like REG.
From-SVN: r5030
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/expr.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -5369,7 +5369,11 @@ expand_expr (exp, target, tmode, modifier) op0 = force_const_mem (TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0))), op0); - if (GET_CODE (op0) == REG || GET_CODE (op0) == SUBREG) + /* These cases happen in Fortran. Is that legitimate? + Should Fortran work in another way? + Do they happen in C? */ + if (GET_CODE (op0) == REG || GET_CODE (op0) == SUBREG + || GET_CODE (op0) == CONCAT) { /* If this object is in a register, it must be not be BLKmode. */ |