]> code.delx.au - gnu-emacs/blobdiff - src/conf_post.h
Work around GCC bug 54561 in a better way
[gnu-emacs] / src / conf_post.h
index 69b981feef6952cb04917fb113e05dd49c76812a..865d0183a57380b05d13f880208d236322f059d5 100644 (file)
@@ -39,7 +39,8 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #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__)))
@@ -367,15 +368,6 @@ extern int emacs_setenv_TZ (char const *);
 # 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