aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2011-11-07 08:46:58 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2011-11-07 08:46:58 +0000
commite0f0ee74f00a58dc356ab1ac23638c97d505eb8d (patch)
treecb5f8d91252e8e7bcda39fce03401c8827c41961
parentb3242a4c75342dc2a5260fd452b9ea5c9d604296 (diff)
downloadgcc-e0f0ee74f00a58dc356ab1ac23638c97d505eb8d.zip
gcc-e0f0ee74f00a58dc356ab1ac23638c97d505eb8d.tar.gz
gcc-e0f0ee74f00a58dc356ab1ac23638c97d505eb8d.tar.bz2
acinclude.m4: Check for <stdalign.h>
* acinclude.m4: Check for <stdalign.h> * configure: Regenerate. * config.h.in: Likewise. * include/Makefile.am: Add <cstdalign>. * include/Makefile.in: Regenerate. * include/c_global/cstdalign: New. * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: New. * doc/xml/manual/backwards_compatibility.xml: Update. * doc/xml/manual/status_cxx2011.xml: Update. From-SVN: r181076
-rw-r--r--libstdc++-v3/ChangeLog12
-rw-r--r--libstdc++-v3/acinclude.m43
-rw-r--r--libstdc++-v3/config.h.in3
-rwxr-xr-xlibstdc++-v3/configure14
-rw-r--r--libstdc++-v3/doc/xml/manual/backwards_compatibility.xml2
-rw-r--r--libstdc++-v3/doc/xml/manual/status_cxx2011.xml5
-rw-r--r--libstdc++-v3/include/Makefile.am1
-rw-r--r--libstdc++-v3/include/Makefile.in1
-rw-r--r--libstdc++-v3/include/c_global/cstdalign44
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc24
10 files changed, 105 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 408b0d4..006d875 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,17 @@
2011-11-07 Jonathan Wakely <jwakely.gcc@gmail.com>
+ * acinclude.m4: Check for <stdalign.h>
+ * configure: Regenerate.
+ * config.h.in: Likewise.
+ * include/Makefile.am: Add <cstdalign>.
+ * include/Makefile.in: Regenerate.
+ * include/c_global/cstdalign: New.
+ * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: New.
+ * doc/xml/manual/backwards_compatibility.xml: Update.
+ * doc/xml/manual/status_cxx2011.xml: Update.
+
+2011-11-07 Jonathan Wakely <jwakely.gcc@gmail.com>
+
PR libstdc++/50982
* include/std/mutex (__once_proxy): Use void parameter list to
work on implicit extern "C" systems.
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 684a295..3464b76 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -1641,6 +1641,9 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
# Check for the existence of the <stdbool.h> header.
AC_CHECK_HEADERS(stdbool.h)
+ # Check for the existence of the <stdalign.h> header.
+ AC_CHECK_HEADERS(stdalign.h)
+
CXXFLAGS="$ac_save_CXXFLAGS"
AC_LANG_RESTORE
])
diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in
index f82d91a..82ccd4e 100644
--- a/libstdc++-v3/config.h.in
+++ b/libstdc++-v3/config.h.in
@@ -330,6 +330,9 @@
/* Define to 1 if you have the `sqrtl' function. */
#undef HAVE_SQRTL
+/* Define to 1 if you have the <stdalign.h> header file. */
+#undef HAVE_STDALIGN_H
+
/* Define to 1 if you have the <stdbool.h> header file. */
#undef HAVE_STDBOOL_H
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 428cdc5..94b29a0 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -19105,6 +19105,20 @@ fi
done
+ # Check for the existence of the <stdalign.h> header.
+ for ac_header in stdalign.h
+do :
+ ac_fn_cxx_check_header_mongrel "$LINENO" "stdalign.h" "ac_cv_header_stdalign_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdalign_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_STDALIGN_H 1
+_ACEOF
+
+fi
+
+done
+
+
CXXFLAGS="$ac_save_CXXFLAGS"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
diff --git a/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml b/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml
index b69ac4d..525157f 100644
--- a/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml
+++ b/libstdc++-v3/doc/xml/manual/backwards_compatibility.xml
@@ -1135,7 +1135,7 @@ AC_DEFUN([AC_HEADER_STDCXX_11], [
#include &lt;cmath&gt;
#include &lt;csetjmp&gt;
#include &lt;csignal&gt;
- // #include &lt;cstdalign&gt;
+ #include &lt;cstdalign&gt;
#include &lt;cstdarg&gt;
#include &lt;cstdbool&gt;
#include &lt;cstddef&gt;
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
index 7f06254..2715b2a 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
@@ -253,11 +253,10 @@ particular release.
<entry/>
</row>
<row>
- <?dbhtml bgcolor="#B0B0B0" ?>
<entry>18.10</entry>
<entry>Other runtime support</entry>
- <entry>Partial</entry>
- <entry>Missing <filename class="headerfile">&lt;cstdalign&gt;</filename> </entry>
+ <entry>Y</entry>
+ <entry/>
</row>
<row>
<entry>
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index bc4594d..732f7bc 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -634,6 +634,7 @@ c_base_headers = \
${c_base_srcdir}/cmath \
${c_base_srcdir}/csetjmp \
${c_base_srcdir}/csignal \
+ ${c_base_srcdir}/cstdalign \
${c_base_srcdir}/cstdarg \
${c_base_srcdir}/cstdbool \
${c_base_srcdir}/cstddef \
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 3b31e8a..3d4330c 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -885,6 +885,7 @@ c_base_headers = \
${c_base_srcdir}/cmath \
${c_base_srcdir}/csetjmp \
${c_base_srcdir}/csignal \
+ ${c_base_srcdir}/cstdalign \
${c_base_srcdir}/cstdarg \
${c_base_srcdir}/cstdbool \
${c_base_srcdir}/cstddef \
diff --git a/libstdc++-v3/include/c_global/cstdalign b/libstdc++-v3/include/c_global/cstdalign
new file mode 100644
index 0000000..31f0c1b
--- /dev/null
+++ b/libstdc++-v3/include/c_global/cstdalign
@@ -0,0 +1,44 @@
+// <cstdalign> -*- C++ -*-
+
+// Copyright (C) 2011 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+/** @file include/cstdalign
+ * This is a Standard C++ Library header.
+ */
+
+#pragma GCC system_header
+
+#ifndef _GLIBCXX_CSTDALIGN
+#define _GLIBCXX_CSTDALIGN 1
+
+#ifndef __GXX_EXPERIMENTAL_CXX0X__
+# include <bits/c++0x_warning.h>
+#else
+# include <bits/c++config.h>
+# if _GLIBCXX_HAVE_STDALIGN_H
+# include <stdalign.h>
+# endif
+#endif
+
+#endif
+
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc
new file mode 100644
index 0000000..a72d65f
--- /dev/null
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc
@@ -0,0 +1,24 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++98" }
+
+// Copyright (C) 2011 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <cstdalign>
+
+// { dg-error "ISO C.. 2011" "" { target *-*-* } 32 }
+