< prev index next >
src/share/vm/utilities/globalDefinitions_gcc.hpp
Print this page
rev 13110 : imported patch target_macros
*** 192,207 ****
typedef int (*int_fnP_cond_tP)(cond_t *cv);
};
#endif // SOLARIS
//----------------------------------------------------------------------------------------------------
- // Debugging
-
- #define DEBUG_EXCEPTION ::abort();
-
- extern "C" void breakpoint();
- #define BREAKPOINT ::breakpoint()
// checking for nanness
#ifdef SOLARIS
#ifdef SPARC
inline int g_isnan(float f) { return isnanf(f); }
--- 192,201 ----
*** 239,282 ****
// Portability macros
#define PRAGMA_INTERFACE #pragma interface
#define PRAGMA_IMPLEMENTATION #pragma implementation
#define VALUE_OBJ_CLASS_SPEC
- // Diagnostic pragmas like the ones defined below in PRAGMA_FORMAT_NONLITERAL_IGNORED
- // were only introduced in GCC 4.2. Because we have no other possibility to ignore
- // these warnings for older versions of GCC, we simply don't decorate our printf-style
- // functions with __attribute__(format) in that case.
- #if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)) || (__GNUC__ > 4)
- #ifndef ATTRIBUTE_PRINTF
- #define ATTRIBUTE_PRINTF(fmt,vargs) __attribute__((format(printf, fmt, vargs)))
- #endif
- #ifndef ATTRIBUTE_SCANF
- #define ATTRIBUTE_SCANF(fmt,vargs) __attribute__((format(scanf, fmt, vargs)))
- #endif
- #endif
-
- #define PRAGMA_FORMAT_NONLITERAL_IGNORED _Pragma("GCC diagnostic ignored \"-Wformat-nonliteral\"") \
- _Pragma("GCC diagnostic ignored \"-Wformat-security\"")
- #define PRAGMA_FORMAT_IGNORED _Pragma("GCC diagnostic ignored \"-Wformat\"")
-
- #if defined(__clang_major__) && \
- (__clang_major__ >= 4 || \
- (__clang_major__ >= 3 && __clang_minor__ >= 1)) || \
- ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4)
- // Tested to work with clang version 3.1 and better.
- #define PRAGMA_DIAG_PUSH _Pragma("GCC diagnostic push")
- #define PRAGMA_DIAG_POP _Pragma("GCC diagnostic pop")
-
- // Hack to deal with gcc yammering about non-security format stuff
- #else
- // Old versions of gcc don't do push/pop, also do not cope with this pragma within a function
- // One method does so much varied printing that it is decorated with both internal and external
- // versions of the macro-pragma to obtain better checking with newer compilers.
- #define PRAGMA_DIAG_PUSH
- #define PRAGMA_DIAG_POP
- #endif
-
#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)
#define TEMPLATE_TABLE_BUG
#endif
#if (__GNUC__ == 2) && (__GNUC_MINOR__ >= 96)
#define CONST_SDM_BUG
--- 233,242 ----
< prev index next >