[gcc r12-6489] libstdc++: Install <source_location> header for freestanding [PR103726]

Jonathan Wakely redi@gcc.gnu.org
Tue Jan 11 18:36:41 GMT 2022


https://gcc.gnu.org/g:8b35f02ed599a70cce752e3cb544a7c9f808fce8

commit r12-6489-g8b35f02ed599a70cce752e3cb544a7c9f808fce8
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Jan 11 17:47:17 2022 +0000

    libstdc++: Install <source_location> header for freestanding [PR103726]
    
    This C++20 header is also supposed to be present for freestanding.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/103726
            * include/Makefile.am: Install <source_location> for
            freestanding.
            * include/Makefile.in: Regenerate.
            * include/std/version (__cpp_lib_source_location): Define for
            freestanding.

Diff:
---
 libstdc++-v3/include/Makefile.am | 5 +++--
 libstdc++-v3/include/Makefile.in | 5 +++--
 libstdc++-v3/include/std/version | 6 +++---
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 8f93bf2d7b7..8b1300e0f29 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -1426,7 +1426,7 @@ endif
 # <cstddef>, <cfloat>, <limits>, <climits>, <version>, <cstdint>, <cstdlib>,
 # <new>, <typeinfo>, <exception>, <initializer_list>, <cstdalign>, <cstdarg>,
 # <concepts>, <coroutine>, <cstdbool>, <type_traits>, <bit>, <atomic>,
-# and any files which they include (and which we provide).
+# <source_location> and any files which they include (and which we provide).
 # <new>, <typeinfo>, <exception>, <initializer_list> and <compare>
 # are installed by libsupc++, so only the others and the sub-includes
 # are copied here.
@@ -1440,7 +1440,8 @@ 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 bit concepts coroutine version; do \
+	for file in limits type_traits atomic bit concepts coroutine \
+	  source_location 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/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 4ab942ae666..3ff18fec1e8 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -1907,7 +1907,7 @@ ${pch3_output}: ${pch3_source} ${pch2_output}
 # <cstddef>, <cfloat>, <limits>, <climits>, <version>, <cstdint>, <cstdlib>,
 # <new>, <typeinfo>, <exception>, <initializer_list>, <cstdalign>, <cstdarg>,
 # <concepts>, <coroutine>, <cstdbool>, <type_traits>, <bit>, <atomic>,
-# and any files which they include (and which we provide).
+# <source_location> and any files which they include (and which we provide).
 # <new>, <typeinfo>, <exception>, <initializer_list> and <compare>
 # are installed by libsupc++, so only the others and the sub-includes
 # are copied here.
@@ -1921,7 +1921,8 @@ 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 bit concepts coroutine version; do \
+	for file in limits type_traits atomic bit concepts coroutine \
+	  source_location 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/include/std/version b/libstdc++-v3/include/std/version
index 012d78e3b6b..c5d5efb1314 100644
--- a/libstdc++-v3/include/std/version
+++ b/libstdc++-v3/include/std/version
@@ -201,6 +201,9 @@
 #endif
 #define __cpp_lib_is_nothrow_convertible 201806L
 #define __cpp_lib_remove_cvref 201711L
+#if __has_builtin(__builtin_source_location)
+# define __cpp_lib_source_location 201907L
+#endif
 #if __cpp_impl_three_way_comparison >= 201907L && __cpp_lib_concepts
 # define __cpp_lib_three_way_comparison 201907L
 #endif
@@ -273,9 +276,6 @@
 # define __cpp_lib_semaphore 201907L
 #endif
 #define __cpp_lib_shift 201806L
-#if __has_builtin(__builtin_source_location)
-# define __cpp_lib_source_location 201907L
-#endif
 #if __cpp_lib_concepts
 # define __cpp_lib_span 202002L
 #endif


More information about the Libstdc++-cvs mailing list