The clang macros for pushing and popping the default packing level are doing nothing on non-Microsoft platforms.
This is likely because Unreal does not specify a default packing level that would make sense to reset back to (i.e. UE does not build with `-fpack-struct=N`).
However, take for example this situation:
#pragma pack(push, 8)
PRAGMA_PUSH_PLATFORM_DEFAULT_PACKING
// ...
PRAGMA_POP_PLATFORM_DEFAULT_PACKING
#pragma pack(pop)
The surrounded code would still get an effective packing of 8. In this pull request, I fixed this by changing the macro to use `pack()` without specifying a value in order to reset the packing level to whatever the file was compiled with. This fixes an issue we ran into where a middleware had changed the packing and was relying on `PRAGMA_PUSH_PLATFORM_DEFAULT_PACKING` to reset it.
I am making this post because the pull request has not gotten any traction since it was created in June.
[Attachment Removed]