aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-04-11 09:22:29 -0700
committerRichard Henderson <rth@gcc.gnu.org>2003-04-11 09:22:29 -0700
commita46666a9508860fd72ac9d592956d8364302f154 (patch)
tree1cb23927181d5252d9655bc7e20fc97b620c0e9d /gcc/expr.c
parent6d2f9dd377ee9d9af94c58097d3511192eded91c (diff)
downloadgcc-a46666a9508860fd72ac9d592956d8364302f154.zip
gcc-a46666a9508860fd72ac9d592956d8364302f154.tar.gz
gcc-a46666a9508860fd72ac9d592956d8364302f154.tar.bz2
re PR c/10201 ([IA64] ICE in int_mode_for_mode, at stor-layout.c)
PR c/10201 * expr.c (expand_expr): Move DECL_RTL frobbing ... * stor-layout.c (layout_decl): ... here. From-SVN: r65467
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index a2b547e..3d8903d 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -6714,21 +6714,7 @@ expand_expr (exp, target, tmode, modifier)
but the type is complete now, lay out the decl now. */
if (DECL_SIZE (exp) == 0 && COMPLETE_TYPE_P (TREE_TYPE (exp))
&& (TREE_STATIC (exp) || DECL_EXTERNAL (exp)))
- {
- rtx value = DECL_RTL_IF_SET (exp);
-
- layout_decl (exp, 0);
-
- /* If the RTL was already set, update its mode and memory
- attributes. */
- if (value != 0)
- {
- PUT_MODE (value, DECL_MODE (exp));
- SET_DECL_RTL (exp, 0);
- set_mem_attributes (value, exp, 1);
- SET_DECL_RTL (exp, value);
- }
- }
+ layout_decl (exp, 0);
/* ... fall through ... */