On 02/09/2016 03:12 AM, Herbert J. Skuhra wrote:
Checking for working stdalign.h fails with clang

This is due to a clang bug, which exposed a typo in the Gnulib code that was supposed to work around the clang bug. A patch to Gnulib is attached, and I've installed this in Gnulib and in the emacs-25 and master branches of the Emacs source. Please give it a try.
From ee85c31946807ee272ab56e18150e574901afbcb Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 9 Feb 2016 08:54:11 -0800
Subject: [PATCH] stdalign: port to clang 3.7.0

Problem reported by Herbert J. Skuhra in:
http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00476.html
* lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
https://llvm.org/bugs/show_bug.cgi?id=26547
---
 ChangeLog         | 9 +++++++++
 lib/stdalign.in.h | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 40bdd23..9d58175 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+	stdalign: port to clang 3.7.0
+	Problem reported by Herbert J. Skuhra in:
+	http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00476.html
+	* lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
+	from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
+	https://llvm.org/bugs/show_bug.cgi?id=26547
+
 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
 
 	readdir_r: now obsolescent
diff --git a/lib/stdalign.in.h b/lib/stdalign.in.h
index 6fca5b6..7ce33a0 100644
--- a/lib/stdalign.in.h
+++ b/lib/stdalign.in.h
@@ -111,7 +111,7 @@
 # endif
 #endif
 #if ((defined _Alignas && ! (defined __cplusplus && 201103 <= __cplusplus)) \
-     || (defined __STDC_VERSION && 201112 <= __STDC_VERSION__))
+     || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
 # define alignas _Alignas
 #endif
 #if defined alignas || (defined __cplusplus && 201103 <= __cplusplus)
-- 
2.5.0

Reply via email to