From 4efb18d5f552069dbb5501a54b2b3c704a3206da Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 4 Dec 2015 11:22:26 -0800 Subject: [PATCH] Fix complex.h for clang. From the comment about __NDK_FPABI__ vs __NDK_FPABI_MATH__: NOTE: Disable for clang for now unless _NDK_MATH_NO_SOFTFP=1, because clang before 3.4 doesn't allow change of calling convension for builtin and produces error message reads: a.i:564:6: error: function declared 'aapcs' here was previously declared without calling convention int sin(double d) __attribute__((pcs("aapcs"))); ^ a.i:564:6: note: previous declaration is here This applies to current clang as well, not just pre-3.4. Mark these math functions as math functions. Change-Id: I001b31df540aa3f61eec049f89346cbf2f11f128 --- ndk/platforms/android-21/include/complex.h | 70 +++++++++++----------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/ndk/platforms/android-21/include/complex.h b/ndk/platforms/android-21/include/complex.h index e6fdacdfd..db93e7b09 100644 --- a/ndk/platforms/android-21/include/complex.h +++ b/ndk/platforms/android-21/include/complex.h @@ -48,44 +48,44 @@ _Static_assert(__generic(_Complex_I, float _Complex, 1, 0), __BEGIN_DECLS -double cabs(double complex) __NDK_FPABI__; -float cabsf(float complex) __NDK_FPABI__; -long double cabsl(long double complex) __NDK_FPABI__; -double carg(double complex) __NDK_FPABI__; -float cargf(float complex) __NDK_FPABI__; -long double cargl(long double complex) __NDK_FPABI__; -double complex ccos(double complex) __NDK_FPABI__; -float complex ccosf(float complex) __NDK_FPABI__; -double complex ccosh(double complex) __NDK_FPABI__; -float complex ccoshf(float complex) __NDK_FPABI__; -double complex cexp(double complex) __NDK_FPABI__; -float complex cexpf(float complex) __NDK_FPABI__; -double cimag(double complex) __pure2 __NDK_FPABI__; -float cimagf(float complex) __pure2 __NDK_FPABI__; -long double cimagl(long double complex) __pure2 __NDK_FPABI__; -double complex conj(double complex) __pure2 __NDK_FPABI__; -float complex conjf(float complex) __pure2 __NDK_FPABI__; +double cabs(double complex) __NDK_FPABI_MATH__; +float cabsf(float complex) __NDK_FPABI_MATH__; +long double cabsl(long double complex) __NDK_FPABI_MATH__; +double carg(double complex) __NDK_FPABI_MATH__; +float cargf(float complex) __NDK_FPABI_MATH__; +long double cargl(long double complex) __NDK_FPABI_MATH__; +double complex ccos(double complex) __NDK_FPABI_MATH__; +float complex ccosf(float complex) __NDK_FPABI_MATH__; +double complex ccosh(double complex) __NDK_FPABI_MATH__; +float complex ccoshf(float complex) __NDK_FPABI_MATH__; +double complex cexp(double complex) __NDK_FPABI_MATH__; +float complex cexpf(float complex) __NDK_FPABI_MATH__; +double cimag(double complex) __pure2 __NDK_FPABI_MATH__; +float cimagf(float complex) __pure2 __NDK_FPABI_MATH__; +long double cimagl(long double complex) __pure2 __NDK_FPABI_MATH__; +double complex conj(double complex) __pure2 __NDK_FPABI_MATH__; +float complex conjf(float complex) __pure2 __NDK_FPABI_MATH__; long double complex - conjl(long double complex) __pure2 __NDK_FPABI__; -float complex cprojf(float complex) __pure2 __NDK_FPABI__; -double complex cproj(double complex) __pure2 __NDK_FPABI__; + conjl(long double complex) __pure2 __NDK_FPABI_MATH__; +float complex cprojf(float complex) __pure2 __NDK_FPABI_MATH__; +double complex cproj(double complex) __pure2 __NDK_FPABI_MATH__; long double complex - cprojl(long double complex) __pure2 __NDK_FPABI__; -double creal(double complex) __pure2 __NDK_FPABI__; -float crealf(float complex) __pure2 __NDK_FPABI__; -long double creall(long double complex) __pure2 __NDK_FPABI__; -double complex csin(double complex) __NDK_FPABI__; -float complex csinf(float complex) __NDK_FPABI__; -double complex csinh(double complex) __NDK_FPABI__; -float complex csinhf(float complex) __NDK_FPABI__; -double complex csqrt(double complex) __NDK_FPABI__; -float complex csqrtf(float complex) __NDK_FPABI__; + cprojl(long double complex) __pure2 __NDK_FPABI_MATH__; +double creal(double complex) __pure2 __NDK_FPABI_MATH__; +float crealf(float complex) __pure2 __NDK_FPABI_MATH__; +long double creall(long double complex) __pure2 __NDK_FPABI_MATH__; +double complex csin(double complex) __NDK_FPABI_MATH__; +float complex csinf(float complex) __NDK_FPABI_MATH__; +double complex csinh(double complex) __NDK_FPABI_MATH__; +float complex csinhf(float complex) __NDK_FPABI_MATH__; +double complex csqrt(double complex) __NDK_FPABI_MATH__; +float complex csqrtf(float complex) __NDK_FPABI_MATH__; long double complex - csqrtl(long double complex) __NDK_FPABI__; -double complex ctan(double complex) __NDK_FPABI__; -float complex ctanf(float complex) __NDK_FPABI__; -double complex ctanh(double complex) __NDK_FPABI__; -float complex ctanhf(float complex) __NDK_FPABI__; + csqrtl(long double complex) __NDK_FPABI_MATH__; +double complex ctan(double complex) __NDK_FPABI_MATH__; +float complex ctanf(float complex) __NDK_FPABI_MATH__; +double complex ctanh(double complex) __NDK_FPABI_MATH__; +float complex ctanhf(float complex) __NDK_FPABI_MATH__; __END_DECLS