summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--THANKS1
-rw-r--r--src/system.h11
2 files changed, 9 insertions, 3 deletions
diff --git a/THANKS b/THANKS
index d8ef2c0c..9a06506b 100644
--- a/THANKS
+++ b/THANKS
@@ -61,6 +61,7 @@ Enrico Scholz enrico.scholz@informatik.tu-chemnitz.de
Eric Blake ebb9@byu.net
Eric S. Raymond esr@thyrsus.com
Étienne Renault renault@lrde.epita.fr
+Evan Lavelle eml-bison@cyconix.com
Evan Nemerson evan@nemerson.com
Evgeny Stambulchik fnevgeny@plasma-gate.weizmann.ac.il
Fabrice Bauzac noon@cote-dazur.com
diff --git a/src/system.h b/src/system.h
index 0210f6c6..6073048f 100644
--- a/src/system.h
+++ b/src/system.h
@@ -73,9 +73,14 @@ typedef size_t uintptr_t;
# include <verify.h>
# include <xalloc.h>
-
-/* See https://lists.gnu.org/archive/html/bug-bison/2019-10/msg00061.html. */
-# if defined __GNUC__ && ! defined __clang__ && ! defined __ICC && __GNUC__ < 5
+// Clang and ICC like to pretend they are GCC.
+#if defined __GNUC__ && !defined __clang__ && !defined __ICC
+# define GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
+#endif
+
+// See https://lists.gnu.org/archive/html/bug-bison/2019-10/msg00061.html
+// and https://trac.macports.org/ticket/59927.
+#if defined GCC_VERSION && 405 <= GCC_VERSION
# define IGNORE_TYPE_LIMITS_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wtype-limits\"")