summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-06-27 01:02:43 +0000
committerEric Fiselier <eric@efcs.ca>2016-06-27 01:02:43 +0000
commit68436a9b488b976f811dd2dc2c5dba078bd9427b (patch)
tree65079ab98ddf09f4708d776d277a5dc908e0bbfe /libcxx/test/std/utilities
parent8b7faa68716d8c65ffad76b2594684a41aeb4c62 (diff)
downloadbcm5719-llvm-68436a9b488b976f811dd2dc2c5dba078bd9427b.tar.gz
bcm5719-llvm-68436a9b488b976f811dd2dc2c5dba078bd9427b.zip
Implement P0163r0. Add shared_ptr::weak_type.
This patch adds the weak_type typedef in shared_ptr. It is available in C++17 and newer. This patch also updates the _LIBCPP_STD_VER and TEST_STD_VER macros to have the value of 16, since 2016 is the current year. llvm-svn: 273839
Diffstat (limited to 'libcxx/test/std/utilities')
-rw-r--r--libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/types.pass.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/types.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/types.pass.cpp
index 8175312334f..f44c05eb7c8 100644
--- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/types.pass.cpp
+++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/types.pass.cpp
@@ -13,14 +13,20 @@
// {
// public:
// typedef T element_type;
+// typedef weak_ptr<T> weak_type; // C++17
// ...
// };
#include <memory>
+#include "test_macros.h"
+
struct A; // purposefully incomplete
int main()
{
static_assert((std::is_same<std::shared_ptr<A>::element_type, A>::value), "");
+#if TEST_STD_VER > 14
+ static_assert((std::is_same<std::shared_ptr<A>::weak_type, std::weak_ptr<A>>::value), "");
+#endif
}
OpenPOWER on IntegriCloud