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>.

From-SVN: r263514
This commit is contained in:
Jonathan Wakely 2018-08-13 19:54:34 +01:00 committed by Jonathan Wakely
parent 9db03bee15
commit 7997ede243
4 changed files with 23 additions and 10 deletions

View File

@ -1,5 +1,9 @@
2018-08-13 Jonathan Wakely <jwakely@redhat.com> 2018-08-13 Jonathan Wakely <jwakely@redhat.com>
* include/Makefile.am: Install <bit> and <version> for freestanding.
* include/Makefile.in: Regenerate.
* testsuite/17_intro/freestanding.cc: Check for <bit> and <version>.
Revert Revert
2018-08-10 Sebastian Huber <sebastian.huber@embedded-brains.de> 2018-08-10 Sebastian Huber <sebastian.huber@embedded-brains.de>

View File

@ -1359,10 +1359,10 @@ install-data-local: install-freestanding-headers
endif endif
# This is a subset of the full install-headers rule. We only need <ciso646>, # This is a subset of the full install-headers rule. We only need <ciso646>,
# <cstddef>, <cfloat>, <limits>, <climits>, <cstdint>, <cstdlib>, <new>, # <cstddef>, <cfloat>, <limits>, <climits>, <version>, <cstdint>, <cstdlib>,
# <typeinfo>, <exception>, <initializer_list>, <cstdalign>, <cstdarg>, # <new>, <typeinfo>, <exception>, <initializer_list>, <cstdalign>, <cstdarg>,
# <cstdbool>, <type_traits>, <atomic>, and any files which they include (and # <cstdbool>, <type_traits>, <bit>, <atomic>, and any files which they include
# which we provide). # (and which we provide).
# <new>, <typeinfo>, <exception>, and <initializer_list> are installed by # <new>, <typeinfo>, <exception>, and <initializer_list> are installed by
# libsupc++, so only the others and the sub-includes are copied here. # libsupc++, so only the others and the sub-includes are copied here.
install-freestanding-headers: install-freestanding-headers:
@ -1375,7 +1375,7 @@ install-freestanding-headers:
${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \ ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir} $(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 $(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir} $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
for file in ciso646 cstddef cfloat climits cstdint cstdlib \ for file in ciso646 cstddef cfloat climits cstdint cstdlib \

View File

@ -1781,10 +1781,10 @@ ${pch3_output}: ${pch3_source} ${pch2_output}
@GLIBCXX_HOSTED_FALSE@install-data-local: install-freestanding-headers @GLIBCXX_HOSTED_FALSE@install-data-local: install-freestanding-headers
# This is a subset of the full install-headers rule. We only need <ciso646>, # This is a subset of the full install-headers rule. We only need <ciso646>,
# <cstddef>, <cfloat>, <limits>, <climits>, <cstdint>, <cstdlib>, <new>, # <cstddef>, <cfloat>, <limits>, <climits>, <version>, <cstdint>, <cstdlib>,
# <typeinfo>, <exception>, <initializer_list>, <cstdalign>, <cstdarg>, # <new>, <typeinfo>, <exception>, <initializer_list>, <cstdalign>, <cstdarg>,
# <cstdbool>, <type_traits>, <atomic>, and any files which they include (and # <cstdbool>, <type_traits>, <bit>, <atomic>, and any files which they include
# which we provide). # (and which we provide).
# <new>, <typeinfo>, <exception>, and <initializer_list> are installed by # <new>, <typeinfo>, <exception>, and <initializer_list> are installed by
# libsupc++, so only the others and the sub-includes are copied here. # libsupc++, so only the others and the sub-includes are copied here.
install-freestanding-headers: install-freestanding-headers:
@ -1797,7 +1797,7 @@ install-freestanding-headers:
${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \ ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir} $(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 $(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir} $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
for file in ciso646 cstddef cfloat climits cstdint cstdlib \ for file in ciso646 cstddef cfloat climits cstdint cstdlib \

View File

@ -30,6 +30,10 @@
#include <initializer_list> #include <initializer_list>
#include <type_traits> #include <type_traits>
// C++2a headers:
#include <bit>
#include <version>
int main() int main()
{ {
std::exception e; std::exception e;
@ -47,5 +51,10 @@ int main()
std::initializer_list<int> ilisti __attribute__((unused)); 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; return 0;
} }