public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
* [committed] libstdc++: Remove garbage collection support for C++23 [P2186R2]
@ 2021-06-22 20:30 Jonathan Wakely
  0 siblings, 0 replies; only message in thread
From: Jonathan Wakely @ 2021-06-22 20:30 UTC (permalink / raw)
  To: libstdc++, gcc-patches; +Cc: Marek Polacek

[-- Attachment #1: Type: text/plain, Size: 488 bytes --]

This removes the non-functional garbage colection support from <memory>,
as proposed for C++23 by P2186R2.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

libstdc++-v3/ChangeLog:

	* include/std/memory (declare_reachable, undeclare_reachable)
	(declare_no_pointers, undeclare_no_pointers, get_pointer_safety)
	(pointer_safety): Only define for C++11 to C++20 inclusive.
	* testsuite/20_util/pointer_safety/1.cc: Do not run for C++23.

Tested powerpc64le-linux. Committed to trunk.


[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 1898 bytes --]

commit b5a29741db11007e37d8d4ff977b89a8314abfda
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Wed Jun 2 16:41:26 2021

    libstdc++: Remove garbage collection support for C++23 [P2186R2]
    
    This removes the non-functional garbage colection support from <memory>,
    as proposed for C++23 by P2186R2.
    
    Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
    
    libstdc++-v3/ChangeLog:
    
            * include/std/memory (declare_reachable, undeclare_reachable)
            (declare_no_pointers, undeclare_no_pointers, get_pointer_safety)
            (pointer_safety): Only define for C++11 to C++20 inclusive.
            * testsuite/20_util/pointer_safety/1.cc: Do not run for C++23.

diff --git a/libstdc++-v3/include/std/memory b/libstdc++-v3/include/std/memory
index f19de275b2b..da64be2471a 100644
--- a/libstdc++-v3/include/std/memory
+++ b/libstdc++-v3/include/std/memory
@@ -87,7 +87,7 @@
 #  include <bits/uses_allocator_args.h>
 #endif
 
-#if __cplusplus >= 201103L
+#if __cplusplus >= 201103L && __cplusplus <= 202002L
 namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
@@ -132,7 +132,7 @@ get_pointer_safety() noexcept { return pointer_safety::relaxed; }
 
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
-#endif // C++11
+#endif // C++11 to C++20
 
 #if __cplusplus >= 201703L
 // Parallel STL algorithms
diff --git a/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc b/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc
index 7d9a425e3e7..bfacbce27d2 100644
--- a/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc
+++ b/libstdc++-v3/testsuite/20_util/pointer_safety/1.cc
@@ -15,7 +15,7 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-do run { target c++11 } }
+// { dg-do run { target { c++11 && { ! c++23 } } } }
 
 #include <memory>
 #include <testsuite_hooks.h>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-06-22 20:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-22 20:30 [committed] libstdc++: Remove garbage collection support for C++23 [P2186R2] Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).