|
|
|
@ -40,12 +40,29 @@ namespace glm |
|
|
|
|
|
|
|
|
|
// -- Data --
|
|
|
|
|
|
|
|
|
|
# if GLM_HAS_UNRESTRICTED_UNIONS |
|
|
|
|
# if GLM_HAS_UNRESTRICTED_UNIONS && (defined(GLM_SWIZZLE) || (GLM_ARCH & (GLM_ARCH_SSE2_BIT | GLM_ARCH_NEON_BIT))) |
|
|
|
|
# if GLM_COMPILER & GLM_COMPILER_GCC |
|
|
|
|
# pragma GCC diagnostic push |
|
|
|
|
# pragma GCC diagnostic ignored "-Wpedantic" |
|
|
|
|
# endif |
|
|
|
|
# if GLM_COMPILER & GLM_COMPILER_CLANG |
|
|
|
|
# pragma clang diagnostic push |
|
|
|
|
# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" |
|
|
|
|
# pragma clang diagnostic ignored "-Wnested-anon-types" |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
union
|
|
|
|
|
{ |
|
|
|
|
struct { T x, y, z, w;}; |
|
|
|
|
typename detail::storage<T, sizeof(T) * 4, detail::is_aligned<P>::value>::type data; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
# if GLM_COMPILER & GLM_COMPILER_CLANG |
|
|
|
|
# pragma clang diagnostic pop |
|
|
|
|
# endif |
|
|
|
|
# if GLM_COMPILER & GLM_COMPILER_GCC |
|
|
|
|
# pragma GCC diagnostic pop |
|
|
|
|
# endif |
|
|
|
|
# else |
|
|
|
|
T x, y, z, w; |
|
|
|
|
# endif |
|
|
|
|