Browse Source

Updated make_signed and make_unsigned for Clang fixes

Christophe Riccio 11 years ago
parent
commit
de5dd23d2f
1 changed files with 48 additions and 0 deletions
  1. 48 0
      glm/detail/type_int.hpp

+ 48 - 0
glm/detail/type_int.hpp

@@ -136,6 +136,30 @@ namespace detail
 		typedef int64 type;
 	};
 
+	template <>
+	struct make_signed<long>
+	{
+		typedef long type;
+	};
+
+	template <>
+	struct make_signed<long long>
+	{
+		typedef long long type;
+	};
+
+	template <>
+	struct make_signed<unsigned long>
+	{
+		typedef long type;
+	};
+
+	template <>
+	struct make_signed<unsigned long long>
+	{
+		typedef long long type;
+	};
+
 	template <typename genType>
 	struct make_unsigned
 	{};
@@ -187,6 +211,30 @@ namespace detail
 	{
 		typedef uint64 type;
 	};
+
+	template <>
+	struct make_unsigned<long>
+	{
+		typedef unsigned long type;
+	};
+
+	template <>
+	struct make_unsigned<long long>
+	{
+		typedef unsigned long long type;
+	};
+
+	template <>
+	struct make_unsigned<unsigned long>
+	{
+		typedef unsigned long type;
+	};
+
+	template <>
+	struct make_unsigned<unsigned long long>
+	{
+		typedef unsigned long long type;
+	};
 }//namespace detail
 
 	typedef detail::int8					int8;