Browse Source

Fixed aligned test on compilers that doesn't support it

Christophe Riccio 7 years ago
parent
commit
f56011fb20
2 changed files with 9 additions and 4 deletions
  1. 5 0
      glm/detail/setup.hpp
  2. 4 4
      test/core/core_type_aligned.cpp

+ 5 - 0
glm/detail/setup.hpp

@@ -1000,6 +1000,11 @@ namespace detail
 #		pragma message("GLM: GLM_FORCE_SINGLE_ONLY is defined. Using only single precision floating-point types")
 #	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
 #		pragma message("GLM: GLM_FORCE_DEPTH_ZERO_TO_ONE is defined. Using zero to one depth clip space.")
 #	else

+ 4 - 4
test/core/core_type_aligned.cpp

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