Fixed aligned test on compilers that doesn't support it

This commit is contained in:
Christophe Riccio 2018-08-27 22:11:17 +02:00
parent 87f9f3bd78
commit f56011fb20
2 changed files with 9 additions and 4 deletions

View File

@ -1000,6 +1000,11 @@ namespace detail
# pragma message("GLM: GLM_FORCE_SINGLE_ONLY is defined. Using only single precision floating-point types") # pragma message("GLM: GLM_FORCE_SINGLE_ONLY is defined. Using only single precision floating-point types")
# endif # endif
# if defined(GLM_FORCE_DEFAULT_ALIGNED_GENTYPES) && (GLM_CONFIG_ALIGNED_GENTYPES == GLM_DISABLE)
# undef GLM_FORCE_DEFAULT_ALIGNED_GENTYPES
# pragma message("GLM: GLM_FORCE_DEFAULT_ALIGNED_GENTYPES is defined but is disabled. It requires C++11 and language extensions")
# endif
# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT # if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT
# pragma message("GLM: GLM_FORCE_DEPTH_ZERO_TO_ONE is defined. Using zero to one depth clip space.") # pragma message("GLM: GLM_FORCE_DEPTH_ZERO_TO_ONE is defined. Using zero to one depth clip space.")
# else # else

View File

@ -1,9 +1,9 @@
#define GLM_FORCE_DEFAULT_ALIGNED_GENTYPES #define GLM_FORCE_DEFAULT_ALIGNED_GENTYPES
#include <glm/glm.hpp> #include <glm/glm.hpp>
#if GLM_HAS_ALIGNOF #if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
#include <type_traits> #include <type_traits>
/*
static_assert(sizeof(glm::bvec4) > sizeof(glm::bvec2), "Invalid sizeof"); static_assert(sizeof(glm::bvec4) > sizeof(glm::bvec2), "Invalid sizeof");
static_assert(sizeof(glm::ivec4) > sizeof(glm::uvec2), "Invalid sizeof"); static_assert(sizeof(glm::ivec4) > sizeof(glm::uvec2), "Invalid sizeof");
static_assert(sizeof(glm::dvec4) > sizeof(glm::dvec2), "Invalid sizeof"); static_assert(sizeof(glm::dvec4) > sizeof(glm::dvec2), "Invalid sizeof");
@ -11,7 +11,7 @@ static_assert(sizeof(glm::dvec4) > sizeof(glm::dvec2), "Invalid sizeof");
static_assert(sizeof(glm::bvec4) == sizeof(glm::bvec3), "Invalid sizeof"); static_assert(sizeof(glm::bvec4) == sizeof(glm::bvec3), "Invalid sizeof");
static_assert(sizeof(glm::uvec4) == sizeof(glm::uvec3), "Invalid sizeof"); static_assert(sizeof(glm::uvec4) == sizeof(glm::uvec3), "Invalid sizeof");
static_assert(sizeof(glm::dvec4) == sizeof(glm::dvec3), "Invalid sizeof"); static_assert(sizeof(glm::dvec4) == sizeof(glm::dvec3), "Invalid sizeof");
*/
static int test_storage_aligned() static int test_storage_aligned()
{ {
int Error = 0; int Error = 0;
@ -82,7 +82,7 @@ int main()
{ {
int Error = 0; int Error = 0;
# if GLM_HAS_ALIGNOF # if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
Error += test_storage_aligned(); Error += test_storage_aligned();
Error += test_storage_unaligned(); Error += test_storage_unaligned();
Error += test_vec3_aligned(); Error += test_vec3_aligned();