diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-08-13 19:26:34 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-08-13 19:26:34 -0400 |
commit | 34a25822f31ebd055230c65e3b5fba3044c62558 (patch) | |
tree | cd85b04caa0b7392cb1ece536f051999ea4a6938 /gcc | |
parent | 8e90a239ee2967869df52c67bd952896dd70ecaf (diff) | |
download | gcc-34a25822f31ebd055230c65e3b5fba3044c62558.zip gcc-34a25822f31ebd055230c65e3b5fba3044c62558.tar.gz gcc-34a25822f31ebd055230c65e3b5fba3044c62558.tar.bz2 |
(expand_expr, case SAVE_EXPR): Set MEM_IN_STRUCT_P appropriately when
the result is a MEM.
From-SVN: r5159
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/expr.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -3608,9 +3608,15 @@ expand_expr (exp, target, tmode, modifier) if (SAVE_EXPR_RTL (exp) == 0) { if (mode == BLKmode) - temp - = assign_stack_temp (mode, - int_size_in_bytes (TREE_TYPE (exp)), 0); + { + temp + = assign_stack_temp (mode, int_size_in_bytes (type), 0); + MEM_IN_STRUCT_P (temp) + = (TREE_CODE (type) == RECORD_TYPE + || TREE_CODE (type) == UNION_TYPE + || TREE_CODE (type) == QUAL_UNION_TYPE + || TREE_CODE (type) == ARRAY_TYPE); + } else { enum machine_mode var_mode = mode; |