https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114399

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
That is doing:
  long long f __attribute__((packed,aligned(4)));


Will produce the same result between the 2 targets.

Likewise:
  long long f __attribute__((packed,aligned(8)));


With  -Wpadded you can see the padding between e and f is added.

<source>:7:13: warning: padding struct to align 'd::f' [-Wpadded]


Just the padding is different between the 2 targets due to the alignment of
long long being 4 bytes (it is an old ABI where 4 bytes was the only alignment
at the time when long long was added, double have a similar thing too).

Reply via email to