< prev index next >

src/share/vm/utilities/globalDefinitions_gcc.hpp

Print this page

        

*** 232,242 **** inline int g_isnan(float f) { return isnand(f); } #endif inline int g_isnan(double f) { return isnand(f); } #elif defined(__APPLE__) inline int g_isnan(double f) { return isnan(f); } ! #elif defined(LINUX) || defined(_ALLBSD_SOURCE) inline int g_isnan(float f) { return isnanf(f); } inline int g_isnan(double f) { return isnan(f); } #else #error "missing platform-specific definition here" #endif --- 232,247 ---- inline int g_isnan(float f) { return isnand(f); } #endif inline int g_isnan(double f) { return isnand(f); } #elif defined(__APPLE__) inline int g_isnan(double f) { return isnan(f); } ! #elif defined(LINUX) ! // Linux libc without BSD extensions not required ! // to have isnanf, but should have isnan macro ! inline int g_isnan(float f) { return isnan(f); } ! inline int g_isnan(double f) { return isnan(f); } ! #elif defined(_ALLBSD_SOURCE) inline int g_isnan(float f) { return isnanf(f); } inline int g_isnan(double f) { return isnan(f); } #else #error "missing platform-specific definition here" #endif
*** 247,258 **** --- 252,269 ---- #endif // Checking for finiteness + #if defined(LINUX) + // Linux libc without BSD extensions have no finite, but has isfinite + inline int g_isfinite(jfloat f) { return isfinite(f); } + inline int g_isfinite(jdouble f) { return isfinite(f); } + #else inline int g_isfinite(jfloat f) { return finite(f); } inline int g_isfinite(jdouble f) { return finite(f); } + #endif // Wide characters inline int wcslen(const jchar* x) { return wcslen((const wchar_t*)x); }
< prev index next >