5.47.6 Structure-Packing Pragmas
3. #pragma pack(push[,n]) pushes the current alignment setting on an internal stack and then optionally sets the new alignment.
t.c:2: warning: malformed '#pragma pack(push[, id], <n>)' - ignored
It appears #pragma pack(push) is not supported as the documention suggests.
Also, the error message indicates there is an undocumented form or #pragma pack that takes a stack identifier. I've been poking around to understand how it works but I'm not sure what #pragma pack(pop) does. It appears to pop all stacks, but what packing is set afterwards if multiple stacks are popped?
Fixed in 4.0.0 and this is not a regression and 3.4.x is no longer being updated.
While fixed in 4.0.0, the manual does not document the form of pragma pack with stack identifiers.