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