From 3dbef8fe114196155f1a13c7db865573542641e9 Mon Sep 17 00:00:00 2001 From: Andrew Hsieh Date: Fri, 26 Sep 2014 16:20:56 +0800 Subject: [PATCH] Bump up clang vesion accepting __builtin_isnan __attribute__((pcs("aapcs"))) Upstream clang3.6 still doesn't allow change of calling convension of __builtin_isnan from the default to "softfp" (via __attribute__((pcs("aapcs")))) as required by bionic libm.so for 32-bit ARM. Let's hope clang3.7 fix that. See upstream bug http://llvm.org/bugs/show_bug.cgi?id=20958 Change-Id: Ibdcc1783ffa7cf2f36e733983bd6d912ad38df70 --- ndk/platforms/android-13/include/math.h | 2 +- ndk/platforms/android-18/include/math.h | 2 +- ndk/platforms/android-3/include/math.h | 2 +- ndk/platforms/android-9/include/math.h | 2 +- ndk/platforms/android-L/include/math.h | 3 ++- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ndk/platforms/android-13/include/math.h b/ndk/platforms/android-13/include/math.h index 3d06e6239..8dcf87f81 100644 --- a/ndk/platforms/android-13/include/math.h +++ b/ndk/platforms/android-13/include/math.h @@ -528,7 +528,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__ >= 6) +#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 7) int __builtin_isnan(double) __NDK_FPABI_MATH__ __pure2; #else /* clang < 3.5 has faulty prototype for __builtin_isnan */ diff --git a/ndk/platforms/android-18/include/math.h b/ndk/platforms/android-18/include/math.h index d565fa7fd..41d91f1c7 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__ >= 6) +#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 7) int __builtin_isnan(double) __NDK_FPABI_MATH__ __pure2; #else /* clang < 3.5 has faulty prototype for __builtin_isnan */ diff --git a/ndk/platforms/android-3/include/math.h b/ndk/platforms/android-3/include/math.h index 15d53a166..df69c17cf 100644 --- a/ndk/platforms/android-3/include/math.h +++ b/ndk/platforms/android-3/include/math.h @@ -523,7 +523,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__ >= 6) +#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 7) int __builtin_isnan(double) __NDK_FPABI_MATH__ __pure2; #else /* clang < 3.5 has faulty prototype for __builtin_isnan */ diff --git a/ndk/platforms/android-9/include/math.h b/ndk/platforms/android-9/include/math.h index e72c94b0e..a453362d9 100644 --- a/ndk/platforms/android-9/include/math.h +++ b/ndk/platforms/android-9/include/math.h @@ -523,7 +523,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__ >= 6) +#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 7) int __builtin_isnan(double) __NDK_FPABI_MATH__ __pure2; #else /* clang < 3.5 has faulty prototype for __builtin_isnan */ diff --git a/ndk/platforms/android-L/include/math.h b/ndk/platforms/android-L/include/math.h index 8369d6ee2..e872388c2 100644 --- a/ndk/platforms/android-L/include/math.h +++ b/ndk/platforms/android-L/include/math.h @@ -512,7 +512,8 @@ double __builtin_expm1(double) __NDK_FPABI_MATH__; 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; -#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 6) +#if !defined(__clang__) || __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 7) +/* See upstream bug http://llvm.org/bugs/show_bug.cgi?id=20958 */ int __builtin_isinf(double) __NDK_FPABI_MATH__ __pure2; int __builtin_isnan(double) __NDK_FPABI_MATH__ __pure2; #else