* stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Mon, 21 Apr 2003 20:43:21 +0000 (20:43 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 21 Apr 2003 20:43:21 +0000 (16:43 -0400)
From-SVN: r65899

gcc/ChangeLog
gcc/stor-layout.c

index c5d792eb779324061f630d41851ec13bf24faf0a..9c52c0fc06c2f643256b76c64a00e49a81fd16a5 100644 (file)
@@ -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.
 
index 66067d6f276e140e6f43dba1ca1be9a95ddea08f..dad514e27c2eccf012788704ac62fcab549a8aac 100644 (file)
@@ -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));