changeset 18285:baf8f2cb3d1d

stddef: support configuring with g++ Problem reported by Ángel González in: http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00003.html * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t): Do not define if _GCC_MAX_ALIGN_T is defined.
author Paul Eggert <eggert@cs.ucla.edu>
date Fri, 01 Apr 2016 21:01:17 -0700
parents 5b41cc11f4c4
children 8493b4b5d7ae
files ChangeLog lib/stddef.in.h
diffstat 2 files changed, 12 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Mar 31 10:16:15 2016 -0700
+++ b/ChangeLog	Fri Apr 01 21:01:17 2016 -0700
@@ -1,3 +1,11 @@
+2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+	stddef: support configuring with g++
+	Problem reported by Ángel González in:
+	http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00003.html
+	* lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
+	Do not define if _GCC_MAX_ALIGN_T is defined.
+
 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
 
 	test-framework-sh: minor cleanups
--- a/lib/stddef.in.h	Thu Mar 31 10:16:15 2016 -0700
+++ b/lib/stddef.in.h	Fri Apr 01 21:01:17 2016 -0700
@@ -81,8 +81,10 @@
 # define wchar_t int
 #endif
 
-/* Some platforms lack max_align_t.  */
-#if !@HAVE_MAX_ALIGN_T@
+/* Some platforms lack max_align_t.  The check for _GCC_MAX_ALIGN_T is
+   a hack in case the configure-time test was done with g++ even though
+   we are currently compiling with gcc.  */
+#if ! (@HAVE_MAX_ALIGN_T@ || defined _GCC_MAX_ALIGN_T)
 /* On the x86, the maximum storage alignment of double, long, etc. is 4,
    but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
    and the C11 standard allows this.  Work around this problem by