Browse Source

Fix 'nextafter*' for android build issue. #217

Christophe Riccio 11 years ago
parent
commit
041276c93d
2 changed files with 8 additions and 4 deletions
  1. 7 3
      glm/gtc/ulp.inl
  2. 1 1
      readme.txt

+ 7 - 3
glm/gtc/ulp.inl

@@ -204,7 +204,7 @@ namespace glm
 #		elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)))
 			return detail::nextafterf(x, FLT_MAX);
 #		elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
-			return _nextafterf(x, FLT_MAX);
+			return __builtin_nextafterf(x, FLT_MAX);
 #		else
 			return nextafterf(x, FLT_MAX);
 #		endif
@@ -217,6 +217,8 @@ namespace glm
 			return std::nextafter(x, std::numeric_limits<double>::max());
 #		elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)))
 			return detail::nextafter(x, std::numeric_limits<double>::max());
+#		elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
+			return __builtin_nextafter(x, FLT_MAX);
 #		else
 			return nextafter(x, DBL_MAX);
 #		endif
@@ -238,7 +240,7 @@ namespace glm
 #		elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)))
 			return detail::nextafterf(x, FLT_MIN);
 #		elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
-			return _nextafterf(x, FLT_MIN);
+			return __builtin_nextafterf(x, FLT_MIN);
 #		else
 			return nextafterf(x, FLT_MIN);
 #		endif
@@ -248,8 +250,10 @@ namespace glm
 	{
 #		if((GLM_LANG & GLM_LANG_CXX11_FLAG) && !(GLM_PLATFORM & GLM_PLATFORM_ANDROID))
 			return std::nextafter(x, std::numeric_limits<double>::min());
-#		elif((GLM_PLATFORM & GLM_PLATFORM_ANDROID) || (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)))
+#		elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)))
 			return _nextafter(x, DBL_MIN);
+#		elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
+			return __builtin_nextafter(x, DBL_MIN);
 #		else
 			return nextafter(x, DBL_MIN);
 #		endif

+ 1 - 1
readme.txt

@@ -50,7 +50,7 @@ GLM 0.9.6.0: 2014-XX-XX
 ================================================================================
 GLM 0.9.5.5: 2014-XX-XX
 --------------------------------------------------------------------------------
-- Fixed std::nextafter not supported with C++11 on Android #213
+- Fixed std::nextafter not supported with C++11 on Android #217
 - Fixed missing value_type for dual quaternion
 - Fixed return type of dual quaternion length
 - Fixed infinite loop in isfinite function with GCC #221