Add alignment macros for asset definition that make use of parameter values

This commit is contained in:
Jan
2021-03-04 11:41:09 +01:00
parent 5f3aa2a460
commit 3c9a9c038d
3 changed files with 36 additions and 40 deletions

View 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