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.
This commit is contained in:
David Edelsohn 2021-08-26 17:14:18 -04:00
parent 0fa4787bf3
commit 5faf712039

View File

@ -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. */