summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-10-12 06:48:31 +0000
committerEric Fiselier <eric@efcs.ca>2016-10-12 06:48:31 +0000
commitfc647db3ee8215ab2fa5f7cdea8d327c2faa768f (patch)
treee81dc360c9c06b9a32303243d77c4c7325f8897f /libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
parent6ee4001cc957acac39181b68193e1414c3163698 (diff)
downloadbcm5719-llvm-fc647db3ee8215ab2fa5f7cdea8d327c2faa768f.tar.gz
bcm5719-llvm-fc647db3ee8215ab2fa5f7cdea8d327c2faa768f.zip
Revert Add <optional>. Will recommit with better commit message
llvm-svn: 283978
Diffstat (limited to 'libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp')
-rw-r--r--libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp72
1 files changed, 0 insertions, 72 deletions
diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
deleted file mode 100644
index 2ef485b7fe5..00000000000
--- a/libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
+++ /dev/null
@@ -1,72 +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, c++14
-// <optional>
-
-// constexpr T& optional<T>::value() &&;
-
-#include <optional>
-#include <type_traits>
-#include <cassert>
-
-#include "test_macros.h"
-
-using std::optional;
-using std::bad_optional_access;
-
-struct X
-{
- X() = default;
- X(const X&) = delete;
- constexpr int test() const & {return 3;}
- int test() & {return 4;}
- constexpr int test() const && {return 5;}
- int test() && {return 6;}
-};
-
-struct Y
-{
- constexpr int test() && {return 7;}
-};
-
-constexpr int
-test()
-{
- optional<Y> opt{Y{}};
- return std::move(opt).value().test();
-}
-
-int main()
-{
- {
- optional<X> opt; ((void)opt);
- ASSERT_NOT_NOEXCEPT(std::move(opt).value());
- ASSERT_SAME_TYPE(decltype(std::move(opt).value()), X&&);
- }
- {
- optional<X> opt;
- opt.emplace();
- assert(std::move(opt).value().test() == 6);
- }
-#ifndef TEST_HAS_NO_EXCEPTIONS
- {
- optional<X> opt;
- try
- {
- std::move(opt).value();
- assert(false);
- }
- catch (const bad_optional_access&)
- {
- }
- }
-#endif
- static_assert(test() == 7, "");
-}
OpenPOWER on IntegriCloud