__declspec(align(X))
__attribute((aligned(X)))
These are the two I've come across. Are they the only two ways that compilers deal with alignment?
If I target C11, will alignas(X) accomplish the same thing and is it implemented in all C11 supporting compilers? On macOS using clang it seems alignas(X) doesn't work with typedefs?
typedef alignas(16) float vec4[4];
error: '_Alignas' attribute only applies to variables and fields
^