summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/stor-layout.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/stor-layout.c')
-rw-r--r--contrib/gcc/stor-layout.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/contrib/gcc/stor-layout.c b/contrib/gcc/stor-layout.c
index 4fb2908..835cb7c 100644
--- a/contrib/gcc/stor-layout.c
+++ b/contrib/gcc/stor-layout.c
@@ -711,6 +711,9 @@ update_alignment_for_field (rli, field, known_align)
desired_align = DECL_ALIGN (field);
user_align = DECL_USER_ALIGN (field);
}
+ else if (!DECL_BIT_FIELD_TYPE (field))
+ /* Even packed non-bit-fields get byte alignment. */
+ desired_align = MAX (desired_align, BITS_PER_UNIT);
/* Some targets (i.e. i386, VMS) limit struct field alignment
to a lower boundary than alignment of variables unless
OpenPOWER on IntegriCloud