Add alignment specifiers for gcc specifically to match MSVC alignments

This commit is contained in:
Jan 2021-03-04 03:29:16 -08:00
parent 3c9a9c038d
commit 35d9110783
4 changed files with 11 additions and 11 deletions

View File

@ -1,3 +1,3 @@
#!/bin/bash
make -C build -j$(nproc) all
make -C build -j$(nproc) config=release_x86 all

View File

@ -613,7 +613,7 @@ namespace IW4
unsigned int loadBits[2];
};
struct GfxDrawSurfFields
struct gcc_align(8) GfxDrawSurfFields
{
uint64_t objectId : 16;
uint64_t reflectionProbeIndex : 8;
@ -630,8 +630,8 @@ namespace IW4
union GfxDrawSurf
{
GfxDrawSurfFields fields;
uint64_t packed;
gcc_align(8) GfxDrawSurfFields fields;
gcc_align(8) uint64_t packed;
};
struct MaterialInfo

View File

@ -603,7 +603,7 @@ namespace T6
};
struct GfxDrawSurfFields
struct gcc_align(8) GfxDrawSurfFields
{
uint64_t objectId : 16;
uint64_t customIndex : 9;
@ -619,8 +619,8 @@ namespace T6
union GfxDrawSurf
{
GfxDrawSurfFields fields;
uint64_t packed;
gcc_align(8) GfxDrawSurfFields fields;
gcc_align(8) uint64_t packed;
};
@ -1442,8 +1442,8 @@ namespace T6
GenericEventHandler* onEvent;
ItemKeyHandler* onKey;
ExpressionStatement visibleExp;
uint64_t showBits;
uint64_t hideBits;
gcc_align(8) uint64_t showBits;
gcc_align(8) uint64_t hideBits;
const char* allowedBinding;
const char* soundName;
int imageTrack;
@ -3581,7 +3581,7 @@ namespace T6
};
union __m128
union gcc_align(8) __m128
{
float m128_f32[4];
uint64_t m128_u64[2];

View File

@ -24,7 +24,7 @@
#define gcc_align(x)
#else
#define type_align(x) __attribute__((__aligned__(x)))
#define tdef_align(x) __attribute__((__aligned__(x)))
#define tdef_align(x) /*__attribute__((__aligned__(x)))*/
#define memb_align(x) __attribute__((__aligned__(x)))
#define gcc_align(x) __attribute__((__aligned__(x)))
#endif