diff --git a/fpu/softfloat-native.c b/fpu/softfloat-native.c index d827ae6fec..9994f6d27c 100644 --- a/fpu/softfloat-native.c +++ b/fpu/softfloat-native.c @@ -30,7 +30,7 @@ void set_floatx80_rounding_precision(int val STATUS_PARAM) #define sqrtf(f) ((float)sqrt(f)) #define remainderf(fa, fb) ((float)remainder(fa, fb)) #define rintf(f) ((float)rint(f)) -#if !defined(__sparc__) && HOST_SOLARIS < 10 +#if !defined(__sparc__) && defined(HOST_SOLARIS) && HOST_SOLARIS < 10 extern long double rintl(long double); extern long double scalbnl(long double, int); @@ -336,7 +336,7 @@ uint64_t float64_to_uint64_round_to_zero (float64 a STATUS_PARAM) /*---------------------------------------------------------------------------- | Software IEC/IEEE double-precision operations. *----------------------------------------------------------------------------*/ -#if ( defined(__sun__) && ( HOST_SOLARIS < 10 )) +#if defined(__sun__) && defined(HOST_SOLARIS) && HOST_SOLARIS < 10 static inline float64 trunc(float64 x) { return x < 0 ? -floor(-x) : floor(x); diff --git a/fpu/softfloat-native.h b/fpu/softfloat-native.h index 49cff5d894..29777178b3 100644 --- a/fpu/softfloat-native.h +++ b/fpu/softfloat-native.h @@ -15,7 +15,7 @@ * Solaris 10 with GCC4 does not need these macros as they * are defined in with a compiler directive */ -#if defined(HOST_SOLARIS) && (( HOST_SOLARIS <= 9 ) || ( ( HOST_SOLARIS >= 10 ) && ( __GNUC__ <= 4) )) +#if defined(HOST_SOLARIS) && (( HOST_SOLARIS <= 9 ) || ((HOST_SOLARIS >= 10) && (__GNUC__ <= 4))) /* * C99 7.12.3 classification macros * and