mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-17 02:07:58 -05:00
Add alignment macros for asset definition that make use of parameter values
This commit is contained in:
31
src/Common/Utils/TypeAlignment.h
Normal file
31
src/Common/Utils/TypeAlignment.h
Normal file
@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
// Undefine any previously defined utilities
|
||||
#ifdef type_align
|
||||
#undef type_align
|
||||
#endif
|
||||
#ifdef tdef_align
|
||||
#undef tdef_align
|
||||
#endif
|
||||
#ifdef memb_align
|
||||
#undef memb_align
|
||||
#endif
|
||||
|
||||
#ifdef __zonecodegenerator
|
||||
#define type_align(x) alignas(x)
|
||||
#define tdef_align(x) alignas(x)
|
||||
#define memb_align(x) alignas(x)
|
||||
#define gcc_align(x)
|
||||
#else
|
||||
#ifdef _MSVC_LANG
|
||||
#define type_align(x) __declspec(align(x))
|
||||
#define tdef_align(x) __declspec(align(x))
|
||||
#define memb_align(x) __declspec(align(x))
|
||||
#define gcc_align(x)
|
||||
#else
|
||||
#define type_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
|
||||
#endif
|
Reference in New Issue
Block a user