diff options
author | Eric Fiselier <eric@efcs.ca> | 2014-12-20 01:40:03 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2014-12-20 01:40:03 +0000 |
commit | 5a83710e371fe68a06e6e3876c6a2c8b820a8976 (patch) | |
tree | afde4c82ad6704681781c5cd49baa3fbd05c85db /libcxx/test/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp | |
parent | f11e8eab527fba316c64112f6e05de1a79693a3e (diff) | |
download | bcm5719-llvm-5a83710e371fe68a06e6e3876c6a2c8b820a8976.tar.gz bcm5719-llvm-5a83710e371fe68a06e6e3876c6a2c8b820a8976.zip |
Move test into test/std subdirectory.
llvm-svn: 224658
Diffstat (limited to 'libcxx/test/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp')
-rw-r--r-- | libcxx/test/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/libcxx/test/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp b/libcxx/test/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp deleted file mode 100644 index 9cde90da3f5..00000000000 --- a/libcxx/test/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp +++ /dev/null @@ -1,91 +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. -// -//===----------------------------------------------------------------------===// - -// <tuple> - -// template <class... Types> class tuple; - -// constexpr tuple(); - -#include <tuple> -#include <string> -#include <cassert> -#include <type_traits> - -#include "DefaultOnly.h" - -struct NoDefault { - NoDefault() = delete; - explicit NoDefault(int) { } -}; - -struct NoExceptDefault { - NoExceptDefault() noexcept = default; -}; - -struct ThrowingDefault { - ThrowingDefault() { } -}; - -int main() -{ - { - std::tuple<> t; - } - { - std::tuple<int> t; - assert(std::get<0>(t) == 0); - } - { - std::tuple<int, char*> t; - assert(std::get<0>(t) == 0); - assert(std::get<1>(t) == nullptr); - } - { - std::tuple<int, char*, std::string> t; - assert(std::get<0>(t) == 0); - assert(std::get<1>(t) == nullptr); - assert(std::get<2>(t) == ""); - } - { - std::tuple<int, char*, std::string, DefaultOnly> t; - assert(std::get<0>(t) == 0); - assert(std::get<1>(t) == nullptr); - assert(std::get<2>(t) == ""); - assert(std::get<3>(t) == DefaultOnly()); - } - { - // See bug #21157. - static_assert(!std::is_default_constructible<std::tuple<NoDefault>>(), ""); - static_assert(!std::is_default_constructible<std::tuple<DefaultOnly, NoDefault>>(), ""); - static_assert(!std::is_default_constructible<std::tuple<NoDefault, DefaultOnly, NoDefault>>(), ""); - } - { - static_assert(noexcept(std::tuple<NoExceptDefault>()), ""); - static_assert(noexcept(std::tuple<NoExceptDefault, NoExceptDefault>()), ""); - - static_assert(!noexcept(std::tuple<ThrowingDefault, NoExceptDefault>()), ""); - static_assert(!noexcept(std::tuple<NoExceptDefault, ThrowingDefault>()), ""); - static_assert(!noexcept(std::tuple<ThrowingDefault, ThrowingDefault>()), ""); - } -#ifndef _LIBCPP_HAS_NO_CONSTEXPR - { - constexpr std::tuple<> t; - } - { - constexpr std::tuple<int> t; - assert(std::get<0>(t) == 0); - } - { - constexpr std::tuple<int, char*> t; - assert(std::get<0>(t) == 0); - assert(std::get<1>(t) == nullptr); - } -#endif -} |