]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
authorEric Botcazou <ebotcazou@adacore.com>
Tue, 19 May 2015 18:06:46 +0000 (18:06 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 19 May 2015 18:06:46 +0000 (18:06 +0000)
* stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
(layout_type): Use RECORD_OR_UNION_TYPE_P.

From-SVN: r223407

gcc/ChangeLog
gcc/stor-layout.c

index 9676e38c765f5be88626d598f0248356d785056c..d692d06376a5f47a58e4d3c01399b371b7789f0e 100644 (file)
@@ -1,3 +1,8 @@
+2015-05-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
+       (layout_type): Use RECORD_OR_UNION_TYPE_P.
+
 2015-05-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
 
        * config/s390/s390.c (s390_vector_bool_type_p): New function.
index 006ec5d6f7a6928b59c5f563d1cf033655b3290e..82997ddc0bb02849636e334cea16466374a3339c 100644 (file)
@@ -1757,12 +1757,9 @@ finalize_type_size (tree type)
      However, where strict alignment is not required, avoid
      over-aligning structures, since most compilers do not do this
      alignment.  */
-
-  if (TYPE_MODE (type) != BLKmode && TYPE_MODE (type) != VOIDmode
-      && (STRICT_ALIGNMENT
-         || (TREE_CODE (type) != RECORD_TYPE && TREE_CODE (type) != UNION_TYPE
-             && TREE_CODE (type) != QUAL_UNION_TYPE
-             && TREE_CODE (type) != ARRAY_TYPE)))
+  if (TYPE_MODE (type) != BLKmode
+      && TYPE_MODE (type) != VOIDmode
+      && (STRICT_ALIGNMENT || !AGGREGATE_TYPE_P (type)))
     {
       unsigned mode_align = GET_MODE_ALIGNMENT (TYPE_MODE (type));
 
@@ -2431,9 +2428,7 @@ layout_type (tree type)
   /* Compute the final TYPE_SIZE, TYPE_ALIGN, etc. for TYPE.  For
      records and unions, finish_record_layout already called this
      function.  */
-  if (TREE_CODE (type) != RECORD_TYPE
-      && TREE_CODE (type) != UNION_TYPE
-      && TREE_CODE (type) != QUAL_UNION_TYPE)
+  if (!RECORD_OR_UNION_TYPE_P (type))
     finalize_type_size (type);
 
   /* We should never see alias sets on incomplete aggregates.  And we