summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/experimental/any/any.class/any.cons/copy.pass.cpp
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2018-02-01 15:21:14 +0000
committerMarshall Clow <mclow.lists@gmail.com>2018-02-01 15:21:14 +0000
commit5d8babe30d6bcca6900811be97ec746a92b570b5 (patch)
tree38ab79a5107bdca7e2d405169a5671a935e9ae7e /libcxx/test/std/experimental/any/any.class/any.cons/copy.pass.cpp
parent040533215adb65f20380f6e94dc03acf25c60371 (diff)
downloadbcm5719-llvm-5d8babe30d6bcca6900811be97ec746a92b570b5.tar.gz
bcm5719-llvm-5d8babe30d6bcca6900811be97ec746a92b570b5.zip
Remove <experimental/any>; use <any> instead. See https://libcxx.llvm.org/TS_deprecation.html
llvm-svn: 323972
Diffstat (limited to 'libcxx/test/std/experimental/any/any.class/any.cons/copy.pass.cpp')
-rw-r--r--libcxx/test/std/experimental/any/any.class/any.cons/copy.pass.cpp102
1 files changed, 0 insertions, 102 deletions
diff --git a/libcxx/test/std/experimental/any/any.class/any.cons/copy.pass.cpp b/libcxx/test/std/experimental/any/any.class/any.cons/copy.pass.cpp
deleted file mode 100644
index d477394c0b9..00000000000
--- a/libcxx/test/std/experimental/any/any.class/any.cons/copy.pass.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++98, c++03, c++11
-
-// XFAIL: availability=macosx
-
-// <experimental/any>
-
-// any(any const &);
-
-#include <experimental/any>
-#include <cassert>
-
-#include "experimental_any_helpers.h"
-#include "count_new.hpp"
-#include "test_macros.h"
-
-using std::experimental::any;
-using std::experimental::any_cast;
-
-template <class Type>
-void test_copy_throws() {
-#if !defined(TEST_HAS_NO_EXCEPTIONS)
- assert(Type::count == 0);
- {
- any const a((Type(42)));
- assert(Type::count == 1);
- try {
- any const a2(a);
- assert(false);
- } catch (my_any_exception const &) {
- // do nothing
- } catch (...) {
- assert(false);
- }
- assert(Type::count == 1);
- assertContains<Type>(a, 42);
- }
- assert(Type::count == 0);
-#endif
-}
-
-void test_copy_empty() {
- DisableAllocationGuard g; ((void)g); // No allocations should occur.
- any a1;
- any a2(a1);
-
- assertEmpty(a1);
- assertEmpty(a2);
-}
-
-template <class Type>
-void test_copy()
-{
- // Copying small types should not perform any allocations.
- DisableAllocationGuard g(isSmallType<Type>()); ((void)g);
- assert(Type::count == 0);
- Type::reset();
- {
- any a((Type(42)));
- assert(Type::count == 1);
- assert(Type::copied == 0);
-
- any a2(a);
-
- assert(Type::copied == 1);
- assert(Type::count == 2);
- assertContains<Type>(a, 42);
- assertContains<Type>(a, 42);
-
- // Modify a and check that a2 is unchanged
- modifyValue<Type>(a, -1);
- assertContains<Type>(a, -1);
- assertContains<Type>(a2, 42);
-
- // modify a2 and check that a is unchanged
- modifyValue<Type>(a2, 999);
- assertContains<Type>(a, -1);
- assertContains<Type>(a2, 999);
-
- // clear a and check that a2 is unchanged
- a.clear();
- assertEmpty(a);
- assertContains<Type>(a2, 999);
- }
- assert(Type::count == 0);
-}
-
-int main() {
- test_copy<small>();
- test_copy<large>();
- test_copy_empty();
- test_copy_throws<small_throws_on_copy>();
- test_copy_throws<large_throws_on_copy>();
-}
OpenPOWER on IntegriCloud