Fixed aligned type build on Visual C++ 2013 and older compiler #539

This commit is contained in:
Christophe Riccio 2016-08-11 00:41:38 +02:00
parent 37ab3dfd29
commit ebafd8e82d

View File

@ -9,6 +9,15 @@
namespace glm{
namespace detail
{
template<std::size_t N> struct aligned {};
template<> GLM_ALIGNED_STRUCT(1) aligned<1>{};
template<> GLM_ALIGNED_STRUCT(2) aligned<2>{};
template<> GLM_ALIGNED_STRUCT(4) aligned<4>{};
template<> GLM_ALIGNED_STRUCT(8) aligned<8>{};
template<> GLM_ALIGNED_STRUCT(16) aligned<16>{};
template<> GLM_ALIGNED_STRUCT(32) aligned<32>{};
template<> GLM_ALIGNED_STRUCT(64) aligned<64>{};
template <typename T, std::size_t size, bool aligned>
struct storage
{
@ -20,9 +29,10 @@ namespace detail
template <typename T, std::size_t size>
struct storage<T, size, true>
{
typedef GLM_ALIGNED_STRUCT(size) type {
struct type : aligned<size>
{
uint8 data[size];
} type;
};
};
# if GLM_ARCH & GLM_ARCH_SSE2_BIT