summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-21 20:43:21 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-21 20:43:21 +0000
commitac068b11a231d1b131fca795af8f37306e9ba4e8 (patch)
tree9f64a9df3418ffa0431ef74c0451a2c6d5fc7c7f
parent600dbd4703fb73f63dbc05dfbdd34a53a2f2a32d (diff)
downloadgcc-ac068b11a231d1b131fca795af8f37306e9ba4e8.tar.gz
* stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65899 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/stor-layout.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c5d792eb779..9c52c0fc06c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -56,6 +56,8 @@
2003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
+
* expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
before clearing.
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index 66067d6f276..dad514e27c2 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -419,7 +419,7 @@ layout_decl (decl, known_align)
DECL_SIZE (decl) = TYPE_SIZE (type);
DECL_SIZE_UNIT (decl) = TYPE_SIZE_UNIT (type);
}
- else
+ else if (DECL_SIZE_UNIT (decl) == 0)
DECL_SIZE_UNIT (decl)
= convert (sizetype, size_binop (CEIL_DIV_EXPR, DECL_SIZE (decl),
bitsize_unit_node));