[PATCH] Add <bit> and <version> to freestanding headers
Jonathan Wakely
jwakely@redhat.com
Mon Aug 13 18:57:00 GMT 2018
* include/Makefile.am: Install <bit> and <version> for freestanding.
* include/Makefile.in: Regenerate.
* testsuite/17_intro/freestanding.cc: Check for <bit> and <version>.
Tested x86_64-linux, committed to trunk.
-------------- next part --------------
commit 4c758384cab0b274b0d7626411483c5b366b308d
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Mon Aug 13 13:39:48 2018 +0100
Add <bit> and <version> to freestanding headers
* include/Makefile.am: Install <bit> and <version> for freestanding.
* include/Makefile.in: Regenerate.
* testsuite/17_intro/freestanding.cc: Check for <bit> and <version>.
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 70db3cb6260..271695806ff 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -1359,10 +1359,10 @@ install-data-local: install-freestanding-headers
endif
# This is a subset of the full install-headers rule. We only need <ciso646>,
-# <cstddef>, <cfloat>, <limits>, <climits>, <cstdint>, <cstdlib>, <new>,
-# <typeinfo>, <exception>, <initializer_list>, <cstdalign>, <cstdarg>,
-# <cstdbool>, <type_traits>, <atomic>, and any files which they include (and
-# which we provide).
+# <cstddef>, <cfloat>, <limits>, <climits>, <version>, <cstdint>, <cstdlib>,
+# <new>, <typeinfo>, <exception>, <initializer_list>, <cstdalign>, <cstdarg>,
+# <cstdbool>, <type_traits>, <bit>, <atomic>, and any files which they include
+# (and which we provide).
# <new>, <typeinfo>, <exception>, and <initializer_list> are installed by
# libsupc++, so only the others and the sub-includes are copied here.
install-freestanding-headers:
@@ -1375,7 +1375,7 @@ install-freestanding-headers:
${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
- for file in limits type_traits atomic; do \
+ for file in limits type_traits atomic bit version; do \
$(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
for file in ciso646 cstddef cfloat climits cstdint cstdlib \
diff --git a/libstdc++-v3/testsuite/17_intro/freestanding.cc b/libstdc++-v3/testsuite/17_intro/freestanding.cc
index e5126ce5926..4c8498707c4 100644
--- a/libstdc++-v3/testsuite/17_intro/freestanding.cc
+++ b/libstdc++-v3/testsuite/17_intro/freestanding.cc
@@ -30,6 +30,10 @@
#include <initializer_list>
#include <type_traits>
+// C++2a headers:
+#include <bit>
+#include <version>
+
int main()
{
std::exception e;
@@ -47,5 +51,10 @@ int main()
std::initializer_list<int> ilisti __attribute__((unused));
+#if __cplusplus > 201703L
+ static_assert( std::ispow2(256u) );
+ static_assert( __cpp_lib_void_t >= 201411L );
+#endif
+
return 0;
}
More information about the Gcc-patches
mailing list