From: David Edelsohn Date: Thu, 26 Aug 2021 21:14:18 +0000 (-0400) Subject: aix: packed struct alignment [PR102068] X-Git-Tag: basepoints/gcc-13~5135 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5faf7120398c9bf290758891a975da1f727d631a;p=thirdparty%2Fgcc.git aix: packed struct alignment [PR102068] Further fixes to structure alignment when the structure is packed and contains double. This patch checks for packed attribute at the top level. gcc/ChangeLog: PR target/102068 * config/rs6000/rs6000.c (rs6000_adjust_field_align): Use computed alignment if the entire struct has attribute packed. --- diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index e073b26b4307..05fb6aad4b07 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -7955,7 +7955,7 @@ rs6000_slow_unaligned_access (machine_mode mode, unsigned int align) unsigned int rs6000_special_adjust_field_align (tree type, unsigned int computed) { - if (computed <= 32) + if (computed <= 32 || TYPE_PACKED (type)) return computed; /* Strip initial arrays. */