< prev index next >

src/hotspot/share/utilities/globalDefinitions_gcc.hpp

Print this page




 187    // typedef for missing API in libc
 188    typedef int (*int_fnP_mutex_tP_i_vP)(mutex_t *, int, void *);
 189    typedef int (*int_fnP_mutex_tP)(mutex_t *);
 190    typedef int (*int_fnP_cond_tP_i_vP)(cond_t *cv, int scope, void *arg);
 191    typedef int (*int_fnP_cond_tP)(cond_t *cv);
 192 };
 193 #endif // SOLARIS
 194 
 195 // checking for nanness
 196 #ifdef SOLARIS
 197 #ifdef SPARC
 198 inline int g_isnan(float  f) { return isnanf(f); }
 199 #else
 200 // isnanf() broken on Intel Solaris use isnand()
 201 inline int g_isnan(float  f) { return isnand(f); }
 202 #endif
 203 inline int g_isnan(double f) { return isnand(f); }
 204 #elif defined(__APPLE__)
 205 inline int g_isnan(double f) { return isnan(f); }
 206 #elif defined(LINUX) || defined(_ALLBSD_SOURCE)
 207 inline int g_isnan(float  f) { return isnanf(f); }
 208 inline int g_isnan(double f) { return isnan(f); }
 209 #else
 210 #error "missing platform-specific definition here"
 211 #endif
 212 
 213 // GCC 4.3 does not allow 0.0/0.0 to produce a NAN value
 214 #if (__GNUC__ == 4) && (__GNUC_MINOR__ > 2)
 215 #define CAN_USE_NAN_DEFINE 1
 216 #endif
 217 
 218 
 219 // Checking for finiteness
 220 
 221 inline int g_isfinite(jfloat  f)                 { return isfinite(f); }
 222 inline int g_isfinite(jdouble f)                 { return isfinite(f); }
 223 
 224 
 225 // Wide characters
 226 
 227 inline int wcslen(const jchar* x) { return wcslen((const wchar_t*)x); }




 187    // typedef for missing API in libc
 188    typedef int (*int_fnP_mutex_tP_i_vP)(mutex_t *, int, void *);
 189    typedef int (*int_fnP_mutex_tP)(mutex_t *);
 190    typedef int (*int_fnP_cond_tP_i_vP)(cond_t *cv, int scope, void *arg);
 191    typedef int (*int_fnP_cond_tP)(cond_t *cv);
 192 };
 193 #endif // SOLARIS
 194 
 195 // checking for nanness
 196 #ifdef SOLARIS
 197 #ifdef SPARC
 198 inline int g_isnan(float  f) { return isnanf(f); }
 199 #else
 200 // isnanf() broken on Intel Solaris use isnand()
 201 inline int g_isnan(float  f) { return isnand(f); }
 202 #endif
 203 inline int g_isnan(double f) { return isnand(f); }
 204 #elif defined(__APPLE__)
 205 inline int g_isnan(double f) { return isnan(f); }
 206 #elif defined(LINUX) || defined(_ALLBSD_SOURCE)
 207 inline int g_isnan(float  f) { return isnan(f); }
 208 inline int g_isnan(double f) { return isnan(f); }
 209 #else
 210 #error "missing platform-specific definition here"
 211 #endif
 212 
 213 // GCC 4.3 does not allow 0.0/0.0 to produce a NAN value
 214 #if (__GNUC__ == 4) && (__GNUC_MINOR__ > 2)
 215 #define CAN_USE_NAN_DEFINE 1
 216 #endif
 217 
 218 
 219 // Checking for finiteness
 220 
 221 inline int g_isfinite(jfloat  f)                 { return isfinite(f); }
 222 inline int g_isfinite(jdouble f)                 { return isfinite(f); }
 223 
 224 
 225 // Wide characters
 226 
 227 inline int wcslen(const jchar* x) { return wcslen((const wchar_t*)x); }


< prev index next >