On 4/15/22 09:22, Mattias Engdegård wrote:
Paul, would you consider something like that patch (repeated here) for gnulib?

Sure, I installed the attached into Gnulib master on Savannah.

I suppose it wouldn't hurt for an old Mac OS X expert to check the other uses of __clang_major__ in Emacs.
From 0cda5beb7962f6567f0c4e377df870fa05c6d681 Mon Sep 17 00:00:00 2001
From: Paul Eggert <egg...@cs.ucla.edu>
Date: Sat, 16 Apr 2022 19:18:03 -0700
Subject: [PATCH] verify: port to Mac OS 10.7.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Mac OS 10.7.5 clang sets __clang_major__ to 4 even though it was
derived from Clang 3.2.  Problem reported by Werner Lemberg in:
https://lists.gnu.org/r/emacs-devel/2022-04/msg00779.html
* lib/verify.h (_GL_HAVE__STATIC_ASSERT): Don’t define to 1
when __clang_major__ == 4 && !__cplusplus
&& __STDC_VERSION__ < 201112L && !defined __STRICT_ANSI__.
---
 ChangeLog    | 10 ++++++++++
 lib/verify.h |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index a9b82a47d2..1e238d14e9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2022-04-16  Paul Eggert  <egg...@cs.ucla.edu>
+
+	verify: port to Mac OS 10.7.5
+	Mac OS 10.7.5 clang sets __clang_major__ to 4 even though it was
+	derived from Clang 3.2.  Problem reported by Werner Lemberg in:
+	https://lists.gnu.org/r/emacs-devel/2022-04/msg00779.html
+	* lib/verify.h (_GL_HAVE__STATIC_ASSERT): Don’t define to 1
+	when __clang_major__ == 4 && !__cplusplus
+	&& __STDC_VERSION__ < 201112L && !defined __STRICT_ANSI__.
+
 2022-04-15  Bruno Haible  <br...@clisp.org>
 
 	sigsegv: Fix compilation error on arceb CPUs.
diff --git a/lib/verify.h b/lib/verify.h
index 07b2f4866f..c2d2a56670 100644
--- a/lib/verify.h
+++ b/lib/verify.h
@@ -34,7 +34,7 @@
 #ifndef __cplusplus
 # if (201112L <= __STDC_VERSION__ \
       || (!defined __STRICT_ANSI__ \
-          && (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 4 <= __clang_major__)))
+          && (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 5 <= __clang_major__)))
 #  define _GL_HAVE__STATIC_ASSERT 1
 # endif
 # if (202000L <= __STDC_VERSION__ \
-- 
2.32.0

Reply via email to