* 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.
commit 4c758384cab0b274b0d7626411483c5b366b308d Author: Jonathan Wakely <jwak...@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; }