#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);
/*----------------------------------------------------------------------------
| 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);
* Solaris 10 with GCC4 does not need these macros as they
* are defined in <iso/math_c99.h> 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