* include/_mingw.h (__MINGW_GNUC_PREREQ): Define. Use to

guard __MINGW_ATTRIB macro definitions.
	* include/math.h (logb[fl]):  Don't define inlines for
	GCC-4.0+ && __FAST_MATH__.
	(rint[fl], lrint[fl], llrint[fl]); Likewise.  Clean up
	line-continuation backslashes.
This commit is contained in:
Danny Smith
2005-06-16 11:41:49 +00:00
parent 7a9b2d82ec
commit dcd6cb4308
3 changed files with 57 additions and 20 deletions

View File

@ -110,6 +110,14 @@
#define __CRT_INLINE extern __inline__
#endif
#if defined (__GNUC__) && defined (__GNUC_MINOR__)
#define __MINGW_GNUC_PREREQ(major, minor) \
(__GNUC__ > (major) \
|| (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor)))
#else
#define __MINGW_GNUC_PREREQ(major, minor) 0
#endif
#ifdef __cplusplus
# define __UNUSED_PARAM(x)
#else
@ -128,7 +136,7 @@
#define __MINGW_ATTRIB_CONST
#endif
#if ( __GNUC__ >= 3)
#if __MINGW_GNUC_PREREQ (3, 0)
#define __MINGW_ATTRIB_MALLOC __attribute__ ((__malloc__))
#define __MINGW_ATTRIB_PURE __attribute__ ((__pure__))
#else
@ -139,7 +147,7 @@
/* Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
variadiac macro facility, because variadic macros cause syntax
errors with --traditional-cpp. */
#if (__GNUC__ > 3 ||( __GNUC__ == 3 && __GNUC_MINOR__ >= 3))
#if __MINGW_GNUC_PREREQ (3, 3)
#define __MINGW_ATTRIB_NONNULL(arg) __attribute__ ((__nonnull__ (arg)))
#else
#define __MINGW_ATTRIB_NONNULL(arg)