Workaround the __builtin_isnan() type error for clang 3.4.

Similar to clang 3.3, it seems that clang 3.4 declares an incompatible
function prototypes for __builtin_isnan().  To workaround this issue,
we should not declare the function prototype for __builtin_isnan().

Note: Though it may be good to fix this in clang type checker, like
__builtin_nexttoward(), however it seems non-trivial since __builtin_isnsn()
might be overloaded.  We can revert this after we have fixed the
clang builtin definition.

Change-Id: I329b56225f3d229b0c141bb8414c4369f154efda
This commit is contained in:
Logan Chien
2013-12-25 08:21:38 +08:00
committed by Logan Chien
parent 9092f8fb0a
commit ad40d952a1
4 changed files with 8 additions and 8 deletions

View File

@@ -528,10 +528,10 @@ double __builtin_fma(double, double, double) __NDK_FPABI_MATH__;
double __builtin_hypot(double, double) __NDK_FPABI_MATH__;
int __builtin_ilogb(double) __NDK_FPABI_MATH__ __pure2;
/* int __builtin_isinf(double) __NDK_FPABI_MATH__ __pure2; */
#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)
#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 5)
int __builtin_isnan(double) __NDK_FPABI_MATH__ __pure2;
#else
/* clang < 3.4 has faulty prototype for __builtin_isnan */
/* clang < 3.5 has faulty prototype for __builtin_isnan */
#endif
double __builtin_lgamma(double) __NDK_FPABI_MATH__;
long long __builtin_llrint(double) __NDK_FPABI_MATH__;