diff options
| author | Eric Fiselier <eric@efcs.ca> | 2016-10-12 06:48:31 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2016-10-12 06:48:31 +0000 |
| commit | fc647db3ee8215ab2fa5f7cdea8d327c2faa768f (patch) | |
| tree | e81dc360c9c06b9a32303243d77c4c7325f8897f /libcxx/test/std/utilities/optional/optional.object/optional.object.dtor | |
| parent | 6ee4001cc957acac39181b68193e1414c3163698 (diff) | |
| download | bcm5719-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.dtor')
| -rw-r--r-- | libcxx/test/std/utilities/optional/optional.object/optional.object.dtor/dtor.pass.cpp | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.dtor/dtor.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.dtor/dtor.pass.cpp deleted file mode 100644 index 5132c9a73d0..00000000000 --- a/libcxx/test/std/utilities/optional/optional.object/optional.object.dtor/dtor.pass.cpp +++ /dev/null @@ -1,68 +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> - -// ~optional(); - -#include <optional> -#include <type_traits> -#include <cassert> - -using std::optional; - -struct PODType { - int value; - int value2; -}; - -class X -{ -public: - static bool dtor_called; - X() = default; - ~X() {dtor_called = true;} -}; - -bool X::dtor_called = false; - -int main() -{ - { - typedef int T; - static_assert(std::is_trivially_destructible<T>::value, ""); - static_assert(std::is_trivially_destructible<optional<T>>::value, ""); - static_assert(std::is_literal_type<optional<T>>::value, ""); - } - { - typedef double T; - static_assert(std::is_trivially_destructible<T>::value, ""); - static_assert(std::is_trivially_destructible<optional<T>>::value, ""); - static_assert(std::is_literal_type<optional<T>>::value, ""); - } - { - typedef PODType T; - static_assert(std::is_trivially_destructible<T>::value, ""); - static_assert(std::is_trivially_destructible<optional<T>>::value, ""); - static_assert(std::is_literal_type<optional<T>>::value, ""); - } - { - typedef X T; - static_assert(!std::is_trivially_destructible<T>::value, ""); - static_assert(!std::is_trivially_destructible<optional<T>>::value, ""); - static_assert(!std::is_literal_type<optional<T>>::value, ""); - { - X x; - optional<X> opt{x}; - assert(X::dtor_called == false); - } - assert(X::dtor_called == true); - } -} |

