Browse Source

Workaround GCC compiler bug with constexpr support

Christophe Riccio 9 years ago
parent
commit
152c71abff
2 changed files with 10 additions and 2 deletions
  1. 9 1
      glm/detail/type_vec1.hpp
  2. 1 1
      glm/detail/type_vec1.inl

+ 9 - 1
glm/detail/type_vec1.hpp

@@ -102,7 +102,15 @@ namespace glm
 		// -- Explicit basic constructors --
 
 		GLM_FUNC_DECL GLM_CONSTEXPR_CTOR explicit tvec1(ctor);
-		GLM_FUNC_DECL GLM_CONSTEXPR explicit tvec1(T scalar);
+
+		// GCC 4.6 has a bug causing a compiler crash
+#		if GLM_COMPILER & GLM_COMPILER_GCC
+#			define	GLM_CONSTEXPR_GCC
+#		else
+#			define	GLM_CONSTEXPR_GCC GLM_CONSTEXPR
+#		endif
+
+		GLM_FUNC_DECL GLM_CONSTEXPR_GCC explicit tvec1(T scalar);
 
 		// -- Conversion vector constructors --
 

+ 1 - 1
glm/detail/type_vec1.inl

@@ -63,7 +63,7 @@ namespace glm
 	{}
 
 	template <typename T, precision P>
-	GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec1<T, P>::tvec1(T scalar)
+	GLM_FUNC_QUALIFIER GLM_CONSTEXPR_GCC tvec1<T, P>::tvec1(T scalar)
 		: x(scalar)
 	{}