From ad40d952a15cb2261fc3f1d805e752373dc5d872 Mon Sep 17 00:00:00 2001 From: Logan Chien Date: Wed, 25 Dec 2013 08:21:38 +0800 Subject: [PATCH] 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 --- ndk/platforms/android-13/include/math.h | 4 ++-- ndk/platforms/android-18/include/math.h | 4 ++-- ndk/platforms/android-3/include/math.h | 4 ++-- ndk/platforms/android-9/include/math.h | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ndk/platforms/android-13/include/math.h b/ndk/platforms/android-13/include/math.h index 5ed3be3c7..408f2626e 100644 --- a/ndk/platforms/android-13/include/math.h +++ b/ndk/platforms/android-13/include/math.h @@ -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__; diff --git a/ndk/platforms/android-18/include/math.h b/ndk/platforms/android-18/include/math.h index 84c714919..2ab298e24 100644 --- a/ndk/platforms/android-18/include/math.h +++ b/ndk/platforms/android-18/include/math.h @@ -533,7 +533,7 @@ 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 */ @@ -686,7 +686,7 @@ long double __builtin_modfl(long double, long double *) __NDK_FPABI_MATH__; /* f long double __builtin_nanl(const char *) __NDK_FPABI_MATH__ __pure2; long double __builtin_nearbyintl(long double) __NDK_FPABI_MATH__; long double __builtin_nextafterl(long double, long double) __NDK_FPABI_MATH__; -#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4) +#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 5) double __builtin_nexttoward(double, long double) __NDK_FPABI_MATH__; float __builtin_nexttowardf(float, long double) __NDK_FPABI_MATH__; #else diff --git a/ndk/platforms/android-3/include/math.h b/ndk/platforms/android-3/include/math.h index 660ce51c4..b57229815 100644 --- a/ndk/platforms/android-3/include/math.h +++ b/ndk/platforms/android-3/include/math.h @@ -523,10 +523,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__; diff --git a/ndk/platforms/android-9/include/math.h b/ndk/platforms/android-9/include/math.h index 0651cdb5e..97c76d320 100644 --- a/ndk/platforms/android-9/include/math.h +++ b/ndk/platforms/android-9/include/math.h @@ -523,10 +523,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__;