Clang macros that push and pop default packing are broken

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]

Thanks for raising, apologies that we didn’t get around to this pull request sooner. We’ll evaluate whether we can integrate this change.

[Attachment Removed]

This will be included in a future Unreal Engine release - please see https://github.com/EpicGames/UnrealEngine/commit/c571ca1bfefaeacf8e519c084a4d221046d8fd12 . Thanks very much for your contribution!

[Attachment Removed]