#ifndef __GNUC_MINOR__
# define GNUC_PREREQ(v, w, x) false
#elif ! defined __GNUC_PATCHLEVEL__
-# define GNUC_PREREQ(v, w, x) ((v) < __GNUC__ + ((w) <= __GNUC_MINOR__))
+# define GNUC_PREREQ(v, w, x) \
+ ((v) < __GNUC__ + ((w) < __GNUC_MINOR__ + ((x) == 0))
#else
# define GNUC_PREREQ(v, w, x) \
- ((v) < __GNUC__ + ((w) <= __GNUC_MINOR__ + ((x) <= __GNUC_PATCHLEVEL__)))
+ ((v) < __GNUC__ + ((w) < __GNUC_MINOR__ + ((x) <= __GNUC_PATCHLEVEL__)))
#endif
/* The type of bool bitfields. Needed to compile Objective-C with
extern void _DebPrint (const char *fmt, ...);
# define DebPrint(stuff) _DebPrint stuff
# else
-# define DebPrint(stuff)
+# define DebPrint(stuff) ((void) 0)
# endif
#endif
# define FLEXIBLE_ARRAY_MEMBER
#endif
-/* When used in place of 'volatile', 'NONVOLATILE' is equivalent to nothing,
- except it cajoles GCC into not warning incorrectly that a variable needs to
- be volatile. This works around GCC bug 54561. */
-#if defined GCC_LINT || defined lint
-# define NONVOLATILE volatile
-#else
-# define NONVOLATILE /* empty */
-#endif
-
/* 'int x UNINIT;' is equivalent to 'int x;', except it cajoles GCC
into not warning incorrectly about use of an uninitialized variable. */
#if defined GCC_LINT || defined lint