Patrik Stridvall wrote:
- No GNU C compiler not even 3.1 support #pragma pack(8) nor does it support #pragma pack(16). It doesn't even give a warning.
Well, GCC does support #pragma pack(8) and #pragma pack(16). They just don't do anything on i386, because they don't need to.
What #pragma pack(N) means is: if any structure member would require a default alignment > N according to the normal rules, reduce that alignment to N.
As on i386 no structure member ever requires a default alignment of > 8, #pragma pack(8) never needs to do anything.
You appear to think that #pragma pack(N) should sometimes *increase* some alignment requirement -- but it never does. Under what circumstances do you think it should?
Bye, Ulrich