https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105141
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Li Shaohua from comment #5) > No, I meant > > #pragma pack(1) > struct { > char a[3]; > int b; > } c; In this case, the global variable just happens to be aligned to 4 bytes. That is all.