diff mbox

Define feature-test macro for std::enable_shared_from_this

Message ID 20160803191125.GA4351@redhat.com
State New
Headers show

Commit Message

Jonathan Wakely Aug. 3, 2016, 7:11 p.m. UTC
Another feature we already support, so just define the macro.

	* include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
	Define feature-test macro.
	* testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
	for the macro.

Tested x86_64-linux, committed to trunk.
commit 3a75677f2b6f2b3d2b01138c82bce5c051859e94
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Wed Aug 3 19:47:53 2016 +0100

    Define feature-test macro for std::enable_shared_from_this
    
    	* include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
    	Define feature-test macro.
    	* testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
    	for the macro.
diff mbox

Patch

diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h
index 93ce901..2698ba4 100644
--- a/libstdc++-v3/include/bits/shared_ptr_base.h
+++ b/libstdc++-v3/include/bits/shared_ptr_base.h
@@ -1472,6 +1472,7 @@  _GLIBCXX_BEGIN_NAMESPACE_VERSION
       void
       _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept
       {
+#define __cpp_lib_enable_shared_from_this 201603
 	if (use_count() == 0)
 	  {
 	    _M_ptr = __ptr;
diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc
index 4ce23bc..1cf9148 100644
--- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/reinit.cc
@@ -20,6 +20,10 @@ 
 #include <memory>
 #include <testsuite_hooks.h>
 
+#if __cpp_lib_enable_shared_from_this < 201603
+# error "__cpp_lib_enable_shared_from_this < 201603"
+#endif
+
 struct X : public std::enable_shared_from_this<X> { };
 
 bool