fix: function-local static arrays unsupported in cuda device code

This commit is contained in:
tszirr 2013-06-17 10:49:02 +02:00
parent 58dc29a860
commit b016594ac3

View File

@ -160,12 +160,18 @@ namespace detail
GLM_FUNC_QUALIFIER value_type& operator[] (size_t i) GLM_FUNC_QUALIFIER value_type& operator[] (size_t i)
{ {
static const int offset_dst[4] = { E0, E1, E2, E3 }; #ifndef __CUDA_ARCH__
static
#endif
const int offset_dst[4] = { E0, E1, E2, E3 };
return this->elem(offset_dst[i]); return this->elem(offset_dst[i]);
} }
GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
{ {
static const int offset_dst[4] = { E0, E1, E2, E3 }; #ifndef __CUDA_ARCH__
static
#endif
const int offset_dst[4] = { E0, E1, E2, E3 };
return this->elem(offset_dst[i]); return this->elem(offset_dst[i]);
} }
protected: protected:
@ -195,7 +201,10 @@ namespace detail
GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const GLM_FUNC_QUALIFIER value_type operator[] (size_t i) const
{ {
static const int offset_dst[4] = { E0, E1, E2, E3 }; #ifndef __CUDA_ARCH__
static
#endif
const int offset_dst[4] = { E0, E1, E2, E3 };
return this->elem(offset_dst[i]); return this->elem(offset_dst[i]);
} }
}; };