https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83487
--- Comment #9 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Well, this seems to fix it.
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -1882,6 +1882,12 @@ finalize_type_size (tree type)
/* Handle empty records as per the x86-64 psABI. */
TYPE_EMPTY_P (type) = targetm.calls.empty_record_p (type);
+ if (TYPE_EMPTY_P (type))
+ {
+ /* Ignore alignment on empty types. */
+ TYPE_USER_ALIGN (type) = false;
+ SET_TYPE_ALIGN (type, 1);
+ }
}
/* Return a new underlying object for a bitfield started with FIELD. */