OSDN Git Service

PR target/23071
[pf3gnuchains/gcc-fork.git] / gcc / config / rs6000 / rs6000.c
index dea0271..ab48e82 100644 (file)
@@ -4653,6 +4653,9 @@ darwin_rs6000_special_round_type_align (tree type, unsigned int computed,
       field = TREE_CHAIN (field);
     if (! field)
       break;
+    /* A packed field does not contribute any extra alignment.  */
+    if (DECL_PACKED (field))
+      return align;
     type = TREE_TYPE (field);
     while (TREE_CODE (type) == ARRAY_TYPE)
       type = TREE_TYPE (type);