< prev index next >

src/share/vm/utilities/globalDefinitions_gcc.hpp

Print this page




 206    typedef int (*int_fnP_cond_tP)(cond_t *cv);
 207 };
 208 #endif // SOLARIS
 209 
 210 //----------------------------------------------------------------------------------------------------
 211 // Debugging
 212 
 213 #define DEBUG_EXCEPTION ::abort();
 214 
 215 #ifdef ARM32
 216 #ifdef SOLARIS
 217 #define BREAKPOINT __asm__ volatile (".long 0xe1200070")
 218 #else
 219 #define BREAKPOINT __asm__ volatile (".long 0xe7f001f0")
 220 #endif
 221 #else
 222 extern "C" void breakpoint();
 223 #define BREAKPOINT ::breakpoint()
 224 #endif
 225 


 226 // checking for nanness
 227 #ifdef SOLARIS
 228 #ifdef SPARC
 229 inline int g_isnan(float  f) { return isnanf(f); }
 230 #else
 231 // isnanf() broken on Intel Solaris use isnand()
 232 inline int g_isnan(float  f) { return isnand(f); }
 233 #endif
 234 inline int g_isnan(double f) { return isnand(f); }
 235 #elif defined(__APPLE__)
 236 inline int g_isnan(double f) { return isnan(f); }
 237 #elif defined(LINUX) || defined(_ALLBSD_SOURCE)
 238 inline int g_isnan(float  f) { return isnanf(f); }
 239 inline int g_isnan(double f) { return isnan(f); }
 240 #else
 241 #error "missing platform-specific definition here"
 242 #endif
 243 
 244 // GCC 4.3 does not allow 0.0/0.0 to produce a NAN value
 245 #if (__GNUC__ == 4) && (__GNUC_MINOR__ > 2)




 206    typedef int (*int_fnP_cond_tP)(cond_t *cv);
 207 };
 208 #endif // SOLARIS
 209 
 210 //----------------------------------------------------------------------------------------------------
 211 // Debugging
 212 
 213 #define DEBUG_EXCEPTION ::abort();
 214 
 215 #ifdef ARM32
 216 #ifdef SOLARIS
 217 #define BREAKPOINT __asm__ volatile (".long 0xe1200070")
 218 #else
 219 #define BREAKPOINT __asm__ volatile (".long 0xe7f001f0")
 220 #endif
 221 #else
 222 extern "C" void breakpoint();
 223 #define BREAKPOINT ::breakpoint()
 224 #endif
 225 
 226 #define NORETURN_ATTRIBUTE(function) function __attribute__ ((noreturn))
 227 
 228 // checking for nanness
 229 #ifdef SOLARIS
 230 #ifdef SPARC
 231 inline int g_isnan(float  f) { return isnanf(f); }
 232 #else
 233 // isnanf() broken on Intel Solaris use isnand()
 234 inline int g_isnan(float  f) { return isnand(f); }
 235 #endif
 236 inline int g_isnan(double f) { return isnand(f); }
 237 #elif defined(__APPLE__)
 238 inline int g_isnan(double f) { return isnan(f); }
 239 #elif defined(LINUX) || defined(_ALLBSD_SOURCE)
 240 inline int g_isnan(float  f) { return isnanf(f); }
 241 inline int g_isnan(double f) { return isnan(f); }
 242 #else
 243 #error "missing platform-specific definition here"
 244 #endif
 245 
 246 // GCC 4.3 does not allow 0.0/0.0 to produce a NAN value
 247 #if (__GNUC__ == 4) && (__GNUC_MINOR__ > 2)


< prev index next >