summaryrefslogtreecommitdiff
path: root/test/std/experimental/optional
diff options
context:
space:
mode:
Diffstat (limited to 'test/std/experimental/optional')
-rw-r--r--test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp4
-rw-r--r--test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp6
-rw-r--r--test/std/experimental/optional/optional.comp_with_t/equal.pass.cpp11
-rw-r--r--test/std/experimental/optional/optional.comp_with_t/greater.pass.cpp8
-rw-r--r--test/std/experimental/optional/optional.comp_with_t/greater_equal.pass.cpp8
-rw-r--r--test/std/experimental/optional/optional.comp_with_t/less_equal.pass.cpp8
-rw-r--r--test/std/experimental/optional/optional.comp_with_t/less_than.pass.cpp8
-rw-r--r--test/std/experimental/optional/optional.comp_with_t/not_equal.pass.cpp11
-rw-r--r--test/std/experimental/optional/optional.hash/hash.pass.cpp3
-rw-r--r--test/std/experimental/optional/optional.inplace/in_place_t.pass.cpp10
-rw-r--r--test/std/experimental/optional/optional.nullops/equal.pass.cpp8
-rw-r--r--test/std/experimental/optional/optional.nullops/greater.pass.cpp6
-rw-r--r--test/std/experimental/optional/optional.nullops/greater_equal.pass.cpp6
-rw-r--r--test/std/experimental/optional/optional.nullops/less_equal.pass.cpp2
-rw-r--r--test/std/experimental/optional/optional.nullops/less_than.pass.cpp6
-rw-r--r--test/std/experimental/optional/optional.nullops/not_equal.pass.cpp8
-rw-r--r--test/std/experimental/optional/optional.nullopt/nullopt_t.pass.cpp9
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.assign/assign_value.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.assign/emplace.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.assign/emplace_initializer_list.pass.cpp9
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.assign/move.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.ctor/copy.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.ctor/default.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp8
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.ctor/initializer_list.pass.cpp22
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.ctor/move.pass.cpp8
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.dtor/dtor.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.observe/bool.pass.cpp3
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.observe/dereference.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.observe/dereference_const.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.observe/op_arrow.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.observe/value_const.fail.cpp9
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.observe/value_or.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.observe/value_or_const.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp8
-rw-r--r--test/std/experimental/optional/optional.object/optional_const_void.fail.cpp5
-rw-r--r--test/std/experimental/optional/optional.object/optional_not_destructible.fail.cpp9
-rw-r--r--test/std/experimental/optional/optional.object/optional_not_noexcept_destructible.fail.cpp9
-rw-r--r--test/std/experimental/optional/optional.object/optional_void.fail.cpp5
-rw-r--r--test/std/experimental/optional/optional.object/types.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.relops/equal.pass.cpp9
-rw-r--r--test/std/experimental/optional/optional.relops/greater_equal.pass.cpp11
-rw-r--r--test/std/experimental/optional/optional.relops/greater_than.pass.cpp11
-rw-r--r--test/std/experimental/optional/optional.relops/less_equal.pass.cpp11
-rw-r--r--test/std/experimental/optional/optional.relops/less_than.pass.cpp11
-rw-r--r--test/std/experimental/optional/optional.relops/not_equal.pass.cpp9
-rw-r--r--test/std/experimental/optional/optional.specalg/make_optional.pass.cpp7
-rw-r--r--test/std/experimental/optional/optional.specalg/swap.pass.cpp8
-rw-r--r--test/std/experimental/optional/optional.syn/optional_const_in_place_t.fail.cpp5
-rw-r--r--test/std/experimental/optional/optional.syn/optional_const_lvalue_ref.fail.cpp5
-rw-r--r--test/std/experimental/optional/optional.syn/optional_const_nullopt_t.fail.cpp7
-rw-r--r--test/std/experimental/optional/optional.syn/optional_in_place_t.fail.cpp5
-rw-r--r--test/std/experimental/optional/optional.syn/optional_includes_initializer_list.pass.cpp3
-rw-r--r--test/std/experimental/optional/optional.syn/optional_lvalue_ref.fail.cpp5
-rw-r--r--test/std/experimental/optional/optional.syn/optional_nullopt_t.fail.cpp7
-rw-r--r--test/std/experimental/optional/optional.syn/optional_rvalue_ref.fail.cpp5
-rw-r--r--test/std/experimental/optional/version.pass.cpp20
63 files changed, 101 insertions, 381 deletions
diff --git a/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp b/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp
index cecf98a3518b3..c166bb72a8379 100644
--- a/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp
+++ b/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
+
// <optional>
// class bad_optional_access is default constructible
@@ -16,8 +18,6 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::bad_optional_access;
bad_optional_access ex;
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp b/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp
index c13d6603990a1..4630165f07080 100644
--- a/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp
+++ b/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp
@@ -7,19 +7,19 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
+
// <optional>
-// class bad_optional_access : public logic_error
+// class bad_optional_access : public logic_error
#include <experimental/optional>
#include <type_traits>
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::bad_optional_access;
static_assert(std::is_base_of<std::logic_error, bad_optional_access>::value, "");
static_assert(std::is_convertible<bad_optional_access*, std::logic_error*>::value, "");
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.comp_with_t/equal.pass.cpp b/test/std/experimental/optional/optional.comp_with_t/equal.pass.cpp
index e796723cc097c..749fa7dcf0a1e 100644
--- a/test/std/experimental/optional/optional.comp_with_t/equal.pass.cpp
+++ b/test/std/experimental/optional/optional.comp_with_t/equal.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator==(const optional<T>& x, const T& v);
@@ -14,8 +15,6 @@
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -27,16 +26,13 @@ struct X
constexpr bool operator == ( const X &lhs, const X &rhs )
{ return lhs.i_ == rhs.i_ ; }
-
-#endif
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef X T;
typedef optional<T> O;
-
+
constexpr T val(2);
constexpr O o1; // disengaged
constexpr O o2{1}; // engaged
@@ -47,12 +43,11 @@ int main()
static_assert ( !(o3 == T(1)), "" );
static_assert ( (o3 == T(2)), "" );
static_assert ( (o3 == val), "" );
-
+
static_assert ( !(T(1) == o1), "" );
static_assert ( (T(1) == o2), "" );
static_assert ( !(T(1) == o3), "" );
static_assert ( (T(2) == o3), "" );
static_assert ( (val == o3), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.comp_with_t/greater.pass.cpp b/test/std/experimental/optional/optional.comp_with_t/greater.pass.cpp
index cf3923bb4fb0b..c4d95a1c878ff 100644
--- a/test/std/experimental/optional/optional.comp_with_t/greater.pass.cpp
+++ b/test/std/experimental/optional/optional.comp_with_t/greater.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator>(const optional<T>& x, const T& v);
@@ -14,8 +15,6 @@
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -27,13 +26,9 @@ struct X
constexpr bool operator < ( const X &lhs, const X &rhs )
{ return lhs.i_ < rhs.i_ ; }
-
-#endif
int main()
{
-#if _LIBCPP_STD_VER > 11
-
{
typedef X T;
typedef optional<T> O;
@@ -57,5 +52,4 @@ int main()
static_assert ( !(val > o3), "" ); // equal
static_assert ( (T(3) > o3), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.comp_with_t/greater_equal.pass.cpp b/test/std/experimental/optional/optional.comp_with_t/greater_equal.pass.cpp
index 85fea1377b3cd..ce1cd9f984812 100644
--- a/test/std/experimental/optional/optional.comp_with_t/greater_equal.pass.cpp
+++ b/test/std/experimental/optional/optional.comp_with_t/greater_equal.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator>=(const optional<T>& x, const T& v);
@@ -14,8 +15,6 @@
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -27,13 +26,9 @@ struct X
constexpr bool operator < ( const X &lhs, const X &rhs )
{ return lhs.i_ < rhs.i_ ; }
-
-#endif
int main()
{
-#if _LIBCPP_STD_VER > 11
-
{
typedef X T;
typedef optional<T> O;
@@ -57,5 +52,4 @@ int main()
static_assert ( (val >= o3), "" ); // equal
static_assert ( (T(3) >= o3), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.comp_with_t/less_equal.pass.cpp b/test/std/experimental/optional/optional.comp_with_t/less_equal.pass.cpp
index 333f7cdea2197..c519bde1e9f29 100644
--- a/test/std/experimental/optional/optional.comp_with_t/less_equal.pass.cpp
+++ b/test/std/experimental/optional/optional.comp_with_t/less_equal.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator<=(const optional<T>& x, const T& v);
@@ -14,8 +15,6 @@
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -27,13 +26,9 @@ struct X
constexpr bool operator < ( const X &lhs, const X &rhs )
{ return lhs.i_ < rhs.i_ ; }
-
-#endif
int main()
{
-#if _LIBCPP_STD_VER > 11
-
{
typedef X T;
typedef optional<T> O;
@@ -57,5 +52,4 @@ int main()
static_assert ( (val <= o3), "" ); // equal
static_assert ( !(T(3) <= o3), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.comp_with_t/less_than.pass.cpp b/test/std/experimental/optional/optional.comp_with_t/less_than.pass.cpp
index e35df21bbabb2..ee1e98f2b8c9d 100644
--- a/test/std/experimental/optional/optional.comp_with_t/less_than.pass.cpp
+++ b/test/std/experimental/optional/optional.comp_with_t/less_than.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator<(const optional<T>& x, const T& v);
@@ -14,8 +15,6 @@
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -27,13 +26,9 @@ struct X
constexpr bool operator < ( const X &lhs, const X &rhs )
{ return lhs.i_ < rhs.i_ ; }
-
-#endif
int main()
{
-#if _LIBCPP_STD_VER > 11
-
{
typedef X T;
typedef optional<T> O;
@@ -57,5 +52,4 @@ int main()
static_assert ( !(val < o3), "" ); // equal
static_assert ( !(T(3) < o3), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.comp_with_t/not_equal.pass.cpp b/test/std/experimental/optional/optional.comp_with_t/not_equal.pass.cpp
index 0dad68d386354..a3daa02d5dbb2 100644
--- a/test/std/experimental/optional/optional.comp_with_t/not_equal.pass.cpp
+++ b/test/std/experimental/optional/optional.comp_with_t/not_equal.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator!=(const optional<T>& x, const T& v);
@@ -14,8 +15,6 @@
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -27,16 +26,13 @@ struct X
constexpr bool operator == ( const X &lhs, const X &rhs )
{ return lhs.i_ == rhs.i_ ; }
-
-#endif
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef X T;
typedef optional<T> O;
-
+
constexpr T val(2);
constexpr O o1; // disengaged
constexpr O o2{1}; // engaged
@@ -47,12 +43,11 @@ int main()
static_assert ( (o3 != T(1)), "" );
static_assert ( !(o3 != T(2)), "" );
static_assert ( !(o3 != val), "" );
-
+
static_assert ( (T(1) != o1), "" );
static_assert ( !(T(1) != o2), "" );
static_assert ( (T(1) != o3), "" );
static_assert ( !(T(2) != o3), "" );
static_assert ( !(val != o3), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.hash/hash.pass.cpp b/test/std/experimental/optional/optional.hash/hash.pass.cpp
index 9e5fb55c833fa..21126740bf860 100644
--- a/test/std/experimental/optional/optional.hash/hash.pass.cpp
+++ b/test/std/experimental/optional/optional.hash/hash.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> struct hash<optional<T>>;
@@ -19,7 +20,6 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
{
@@ -43,5 +43,4 @@ int main()
opt = std::unique_ptr<int>(new int(3));
assert(std::hash<optional<T>>{}(opt) == std::hash<T>{}(*opt));
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.inplace/in_place_t.pass.cpp b/test/std/experimental/optional/optional.inplace/in_place_t.pass.cpp
index 360b9d91671e0..b63977bb69ff2 100644
--- a/test/std/experimental/optional/optional.inplace/in_place_t.pass.cpp
+++ b/test/std/experimental/optional/optional.inplace/in_place_t.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// struct in_place_t{};
@@ -15,8 +16,6 @@
#include <experimental/optional>
#include <type_traits>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
using std::experimental::in_place_t;
using std::experimental::in_place;
@@ -28,15 +27,10 @@ test(const in_place_t&)
return 3;
}
-#endif
-
int main()
{
-#if _LIBCPP_STD_VER > 11
-
static_assert((std::is_class<in_place_t>::value), "");
static_assert((std::is_empty<in_place_t>::value), "");
-
+
static_assert(test(in_place) == 3, "");
-#endif
}
diff --git a/test/std/experimental/optional/optional.nullops/equal.pass.cpp b/test/std/experimental/optional/optional.nullops/equal.pass.cpp
index 931db61442563..79a5a7e06fa46 100644
--- a/test/std/experimental/optional/optional.nullops/equal.pass.cpp
+++ b/test/std/experimental/optional/optional.nullops/equal.pass.cpp
@@ -7,7 +7,7 @@
//
//===----------------------------------------------------------------------===//
-
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator==(const optional<T>& x, nullopt_t) noexcept;
@@ -17,15 +17,14 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
using std::experimental::nullopt_t;
using std::experimental::nullopt;
-
+
{
typedef int T;
typedef optional<T> O;
-
+
constexpr O o1; // disengaged
constexpr O o2{1}; // engaged
@@ -37,5 +36,4 @@ int main()
static_assert (noexcept(nullopt == o1), "");
static_assert (noexcept(o1 == nullopt), "");
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.nullops/greater.pass.cpp b/test/std/experimental/optional/optional.nullops/greater.pass.cpp
index b72a4d3f1a6a4..15b22005b830a 100644
--- a/test/std/experimental/optional/optional.nullops/greater.pass.cpp
+++ b/test/std/experimental/optional/optional.nullops/greater.pass.cpp
@@ -7,7 +7,7 @@
//
//===----------------------------------------------------------------------===//
-
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator>(const optional<T>& x, nullopt_t) noexcept;
@@ -17,7 +17,6 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
using std::experimental::nullopt_t;
using std::experimental::nullopt;
@@ -25,7 +24,7 @@ int main()
{
typedef int T;
typedef optional<T> O;
-
+
constexpr O o1; // disengaged
constexpr O o2{1}; // engaged
@@ -37,5 +36,4 @@ int main()
static_assert (noexcept(nullopt > o1), "");
static_assert (noexcept(o1 > nullopt), "");
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.nullops/greater_equal.pass.cpp b/test/std/experimental/optional/optional.nullops/greater_equal.pass.cpp
index 86c8743b55589..313770ff408e2 100644
--- a/test/std/experimental/optional/optional.nullops/greater_equal.pass.cpp
+++ b/test/std/experimental/optional/optional.nullops/greater_equal.pass.cpp
@@ -7,7 +7,7 @@
//
//===----------------------------------------------------------------------===//
-
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator>=(const optional<T>& x, nullopt_t) noexcept;
@@ -17,7 +17,6 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
using std::experimental::nullopt_t;
using std::experimental::nullopt;
@@ -25,7 +24,7 @@ int main()
{
typedef int T;
typedef optional<T> O;
-
+
constexpr O o1; // disengaged
constexpr O o2{1}; // engaged
@@ -37,5 +36,4 @@ int main()
static_assert (noexcept(nullopt >= o1), "");
static_assert (noexcept(o1 >= nullopt), "");
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.nullops/less_equal.pass.cpp b/test/std/experimental/optional/optional.nullops/less_equal.pass.cpp
index 3e8444bc73f0b..cddb27e93a6a4 100644
--- a/test/std/experimental/optional/optional.nullops/less_equal.pass.cpp
+++ b/test/std/experimental/optional/optional.nullops/less_equal.pass.cpp
@@ -25,7 +25,7 @@ int main()
{
typedef int T;
typedef optional<T> O;
-
+
constexpr O o1; // disengaged
constexpr O o2{1}; // engaged
diff --git a/test/std/experimental/optional/optional.nullops/less_than.pass.cpp b/test/std/experimental/optional/optional.nullops/less_than.pass.cpp
index 149c809b04035..fdb400700d832 100644
--- a/test/std/experimental/optional/optional.nullops/less_than.pass.cpp
+++ b/test/std/experimental/optional/optional.nullops/less_than.pass.cpp
@@ -7,7 +7,7 @@
//
//===----------------------------------------------------------------------===//
-
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator<(const optional<T>& x, nullopt_t) noexcept;
@@ -17,7 +17,6 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
using std::experimental::nullopt_t;
using std::experimental::nullopt;
@@ -25,7 +24,7 @@ int main()
{
typedef int T;
typedef optional<T> O;
-
+
constexpr O o1; // disengaged
constexpr O o2{1}; // engaged
@@ -37,5 +36,4 @@ int main()
static_assert (noexcept(nullopt < o1), "");
static_assert (noexcept(o1 < nullopt), "");
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.nullops/not_equal.pass.cpp b/test/std/experimental/optional/optional.nullops/not_equal.pass.cpp
index 6f28edf6d266e..70ae0f1d885ca 100644
--- a/test/std/experimental/optional/optional.nullops/not_equal.pass.cpp
+++ b/test/std/experimental/optional/optional.nullops/not_equal.pass.cpp
@@ -7,7 +7,7 @@
//
//===----------------------------------------------------------------------===//
-
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator!=(const optional<T>& x, nullopt_t) noexcept;
@@ -17,15 +17,14 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
using std::experimental::nullopt_t;
using std::experimental::nullopt;
-
+
{
typedef int T;
typedef optional<T> O;
-
+
constexpr O o1; // disengaged
constexpr O o2{1}; // engaged
@@ -37,5 +36,4 @@ int main()
static_assert (noexcept(nullopt != o1), "");
static_assert (noexcept(o1 != nullopt), "");
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.nullopt/nullopt_t.pass.cpp b/test/std/experimental/optional/optional.nullopt/nullopt_t.pass.cpp
index de1e83b653ce1..8ad49c7485d0e 100644
--- a/test/std/experimental/optional/optional.nullopt/nullopt_t.pass.cpp
+++ b/test/std/experimental/optional/optional.nullopt/nullopt_t.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// struct nullopt_t{see below};
@@ -15,8 +16,6 @@
#include <experimental/optional>
#include <type_traits>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
using std::experimental::nullopt_t;
using std::experimental::nullopt;
@@ -28,16 +27,12 @@ test(const nullopt_t&)
return 3;
}
-#endif
-
int main()
{
-#if _LIBCPP_STD_VER > 11
static_assert((std::is_class<nullopt_t>::value), "");
static_assert((std::is_empty<nullopt_t>::value), "");
static_assert((std::is_literal_type<nullopt_t>::value), "");
static_assert((!std::is_default_constructible<nullopt_t>::value), "");
-
+
static_assert(test(nullopt) == 3, "");
-#endif
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.assign/assign_value.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.assign/assign_value.pass.cpp
index e256a098f1ac7..3d0d2e03158b0 100644
--- a/test/std/experimental/optional/optional.object/optional.object.assign/assign_value.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.assign/assign_value.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class U> optional<T>& operator=(U&& v);
@@ -16,19 +17,14 @@
#include <cassert>
#include <memory>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
{
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
static_assert(std::is_assignable<optional<int>, int>::value, "");
static_assert(std::is_assignable<optional<int>, int&>::value, "");
static_assert(std::is_assignable<optional<int>&, int>::value, "");
@@ -68,5 +64,4 @@ int main()
assert(static_cast<bool>(opt) == true);
assert(**opt == 3);
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp
index 999d03d3a8855..89ea345029c2f 100644
--- a/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -16,8 +17,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -34,11 +33,8 @@ struct X
bool X::throw_now = false;
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
optional<int> opt;
constexpr optional<int> opt2;
@@ -87,5 +83,4 @@ int main()
assert(static_cast<bool>(opt) == false);
}
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.assign/emplace.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.assign/emplace.pass.cpp
index ec98ef4491538..94f2bb21a4759 100644
--- a/test/std/experimental/optional/optional.object/optional.object.assign/emplace.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.assign/emplace.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -17,8 +18,6 @@
#include <cassert>
#include <memory>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
class X
@@ -55,11 +54,8 @@ public:
bool Z::dtor_called = false;
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
optional<int> opt;
opt.emplace();
@@ -145,5 +141,4 @@ int main()
assert(Z::dtor_called == true);
}
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.assign/emplace_initializer_list.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.assign/emplace_initializer_list.pass.cpp
index aada0f4ec535e..fec37408e43b5 100644
--- a/test/std/experimental/optional/optional.object/optional.object.assign/emplace_initializer_list.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.assign/emplace_initializer_list.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -18,8 +19,6 @@
#include <cassert>
#include <vector>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
class X
@@ -60,7 +59,7 @@ public:
static bool dtor_called;
constexpr Z() : i_(0) {}
constexpr Z(int i) : i_(i) {}
- constexpr Z(std::initializer_list<int> il) : i_(il.begin()[0]), j_(il.begin()[1])
+ Z(std::initializer_list<int> il) : i_(il.begin()[0]), j_(il.begin()[1])
{throw 6;}
~Z() {dtor_called = true;}
@@ -70,11 +69,8 @@ public:
bool Z::dtor_called = false;
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
X x;
{
@@ -113,5 +109,4 @@ int main()
assert(Z::dtor_called == true);
}
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.assign/move.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.assign/move.pass.cpp
index 3e084e5b7dc24..fa00f5602c7fd 100644
--- a/test/std/experimental/optional/optional.object/optional.object.assign/move.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.assign/move.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -18,8 +19,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -42,11 +41,8 @@ struct Y {};
bool X::throw_now = false;
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
static_assert(std::is_nothrow_move_assignable<optional<int>>::value, "");
optional<int> opt;
@@ -100,5 +96,4 @@ int main()
{
static_assert(std::is_nothrow_move_assignable<optional<Y>>::value, "");
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp
index 7f39744f0557d..b1d851b32f4cd 100644
--- a/test/std/experimental/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// optional<T>& operator=(nullopt_t) noexcept;
@@ -15,8 +16,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
using std::experimental::nullopt_t;
using std::experimental::nullopt;
@@ -29,11 +28,8 @@ struct X
bool X::dtor_called = false;
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
optional<int> opt;
static_assert(noexcept(opt = nullopt) == true, "");
@@ -63,5 +59,4 @@ int main()
assert(static_cast<bool>(opt) == false);
}
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.ctor/copy.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.ctor/copy.pass.cpp
index 7d401de1d9789..144af2e3a7dc7 100644
--- a/test/std/experimental/optional/optional.object/optional.object.ctor/copy.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.ctor/copy.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -16,8 +17,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
template <class T>
@@ -76,11 +75,8 @@ public:
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef int T;
optional<T> rhs;
@@ -121,5 +117,4 @@ int main()
optional<T> rhs(Z(3));
test(rhs, true);
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.ctor/default.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.ctor/default.pass.cpp
index 6a1763de22bd6..d24a1ac69b866 100644
--- a/test/std/experimental/optional/optional.object/optional.object.ctor/default.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.ctor/default.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// constexpr optional() noexcept;
@@ -15,8 +16,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
template <class Opt>
@@ -55,13 +54,9 @@ struct X
X();
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
test_constexpr<optional<int>>();
test_constexpr<optional<int*>>();
test<optional<X>>();
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
index 014ee859e8a97..dc1666b103625 100644
--- a/test/std/experimental/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
@@ -69,7 +69,7 @@ int main()
struct test_constexpr_ctor
: public optional<int>
{
- constexpr test_constexpr_ctor(in_place_t, int i)
+ constexpr test_constexpr_ctor(in_place_t, int i)
: optional<int>(in_place, i) {}
};
@@ -97,7 +97,7 @@ int main()
struct test_constexpr_ctor
: public optional<Y>
{
- constexpr test_constexpr_ctor(in_place_t)
+ constexpr test_constexpr_ctor(in_place_t)
: optional<Y>(in_place) {}
};
@@ -110,7 +110,7 @@ int main()
struct test_constexpr_ctor
: public optional<Y>
{
- constexpr test_constexpr_ctor(in_place_t, int i)
+ constexpr test_constexpr_ctor(in_place_t, int i)
: optional<Y>(in_place, i) {}
};
@@ -123,7 +123,7 @@ int main()
struct test_constexpr_ctor
: public optional<Y>
{
- constexpr test_constexpr_ctor(in_place_t, int i, int j)
+ constexpr test_constexpr_ctor(in_place_t, int i, int j)
: optional<Y>(in_place, i, j) {}
};
diff --git a/test/std/experimental/optional/optional.object/optional.object.ctor/initializer_list.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.ctor/initializer_list.pass.cpp
index 7a98e0bf31f3e..9bd6b18989fc9 100644
--- a/test/std/experimental/optional/optional.object/optional.object.ctor/initializer_list.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.ctor/initializer_list.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -19,8 +20,6 @@
#include <vector>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
using std::experimental::in_place_t;
using std::experimental::in_place;
@@ -60,19 +59,15 @@ class Z
public:
constexpr Z() : i_(0) {}
constexpr Z(int i) : i_(i) {}
- constexpr Z(std::initializer_list<int> il) : i_(il.begin()[0]), j_(il.begin()[1])
+ Z(std::initializer_list<int> il) : i_(il.begin()[0]), j_(il.begin()[1])
{throw 6;}
friend constexpr bool operator==(const Z& x, const Z& y)
{return x.i_ == y.i_ && x.j_ == y.j_;}
};
-
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
static_assert(!std::is_constructible<X, std::initializer_list<int>&>::value, "");
static_assert(!std::is_constructible<optional<X>, std::initializer_list<int>&>::value, "");
@@ -98,10 +93,12 @@ int main()
struct test_constexpr_ctor
: public optional<Y>
{
- constexpr test_constexpr_ctor(in_place_t, std::initializer_list<int> i)
+ constexpr test_constexpr_ctor(in_place_t, std::initializer_list<int> i)
: optional<Y>(in_place, i) {}
};
+ constexpr test_constexpr_ctor dopt(in_place, {42, 101, -1});
+ static_assert(*dopt == Y{42, 101, -1}, "");
}
{
static_assert(std::is_constructible<optional<Z>, std::initializer_list<int>&>::value, "");
@@ -114,14 +111,5 @@ int main()
{
assert(i == 6);
}
-
- struct test_constexpr_ctor
- : public optional<Z>
- {
- constexpr test_constexpr_ctor(in_place_t, std::initializer_list<int> i)
- : optional<Z>(in_place, i) {}
- };
-
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.ctor/move.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.ctor/move.pass.cpp
index 40d55f9189933..851157f960f91 100644
--- a/test/std/experimental/optional/optional.object/optional.object.ctor/move.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.ctor/move.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -16,8 +17,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
template <class T>
@@ -75,12 +74,8 @@ public:
friend constexpr bool operator==(const Z& x, const Z& y) {return x.i_ == y.i_;}
};
-
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef int T;
optional<T> rhs;
@@ -121,5 +116,4 @@ int main()
optional<T> rhs(Z(3));
test(rhs, true);
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp
index c307a2e1e258b..40c96581ed847 100644
--- a/test/std/experimental/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// constexpr optional(nullopt_t) noexcept;
@@ -15,8 +16,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
using std::experimental::nullopt_t;
using std::experimental::nullopt;
@@ -56,13 +55,9 @@ struct X
X();
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
test_constexpr<optional<int>>();
test_constexpr<optional<int*>>();
test<optional<X>>();
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.dtor/dtor.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.dtor/dtor.pass.cpp
index 2697799f0e5ee..2bec19e6b4f43 100644
--- a/test/std/experimental/optional/optional.object/optional.object.dtor/dtor.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.dtor/dtor.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// ~optional();
@@ -15,8 +16,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
class X
@@ -29,11 +28,8 @@ public:
bool X::dtor_called = false;
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef int T;
static_assert(std::is_trivially_destructible<T>::value, "");
@@ -55,5 +51,4 @@ int main()
}
assert(X::dtor_called == true);
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/bool.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/bool.pass.cpp
index a3724375cf4d0..a5bfae240073c 100644
--- a/test/std/experimental/optional/optional.object/optional.object.observe/bool.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.observe/bool.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// constexpr explicit optional<T>::operator bool() const noexcept;
@@ -17,7 +18,6 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
{
@@ -28,5 +28,4 @@ int main()
constexpr optional<int> opt(0);
static_assert(opt, "");
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/dereference.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/dereference.pass.cpp
index 98e5dac9719ed..faba8d256067c 100644
--- a/test/std/experimental/optional/optional.object/optional.object.observe/dereference.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.observe/dereference.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// T& optional<T>::operator*();
@@ -19,8 +20,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -29,11 +28,8 @@ struct X
int test() {return 4;}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
optional<X> opt(X{});
assert((*opt).test() == 4);
@@ -45,5 +41,4 @@ int main()
assert(false);
}
#endif // _LIBCPP_DEBUG
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/dereference_const.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/dereference_const.pass.cpp
index c72a57852a327..f1bdc36424daf 100644
--- a/test/std/experimental/optional/optional.object/optional.object.observe/dereference_const.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.observe/dereference_const.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// constexpr const T& optional<T>::operator*() const;
@@ -19,8 +20,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -33,11 +32,8 @@ struct Y
int test() const {return 2;}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
constexpr optional<X> opt(X{});
static_assert((*opt).test() == 3, "");
@@ -53,5 +49,4 @@ int main()
assert(false);
}
#endif // _LIBCPP_DEBUG
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow.pass.cpp
index b17fcf8d30506..954ccd71ff538 100644
--- a/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// constexpr T* optional<T>::operator->();
@@ -19,8 +20,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -28,11 +27,8 @@ struct X
constexpr int test() const {return 3;}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
constexpr optional<X> opt(X{});
static_assert(opt->test() == 3, "");
@@ -44,5 +40,4 @@ int main()
assert(false);
}
#endif // _LIBCPP_DEBUG
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp
index e813dd992a5b2..cf900d7029e1d 100644
--- a/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// constexpr const T* optional<T>::operator->() const;
@@ -19,8 +20,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -39,11 +38,8 @@ struct Z
constexpr int test() const {return 1;}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
constexpr optional<X> opt(X{});
static_assert(opt->test() == 3, "");
@@ -63,5 +59,4 @@ int main()
assert(false);
}
#endif // _LIBCPP_DEBUG
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp
index 85f9be6998a01..b998f3067f4fb 100644
--- a/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -16,8 +17,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
using std::experimental::bad_optional_access;
@@ -29,11 +28,8 @@ struct X
int test() {return 4;}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
optional<X> opt;
opt.emplace();
@@ -50,5 +46,4 @@ int main()
{
}
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/value_const.fail.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/value_const.fail.cpp
index f0f8af6da45df..baad3b47f3ec7 100644
--- a/test/std/experimental/optional/optional.object/optional.object.observe/value_const.fail.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.observe/value_const.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// constexpr const T& optional<T>::value() const;
@@ -15,8 +16,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -25,16 +24,10 @@ struct X
int test() {return 4;}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
constexpr optional<X> opt;
static_assert(opt.value().test() == 3, "");
}
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp
index c99baab8b6e42..a38b1f930c72f 100644
--- a/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -16,8 +17,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
using std::experimental::in_place_t;
using std::experimental::in_place;
@@ -31,11 +30,8 @@ struct X
int test() {return 4;}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
constexpr optional<X> opt(in_place);
static_assert(opt.value().test() == 3, "");
@@ -55,5 +51,4 @@ int main()
{
}
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/value_or.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/value_or.pass.cpp
index 6118c44bb5baa..6fca8c82cebdc 100644
--- a/test/std/experimental/optional/optional.object/optional.object.observe/value_or.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.observe/value_or.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class U> T optional<T>::value_or(U&& v) &&;
@@ -15,8 +16,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
using std::experimental::in_place_t;
using std::experimental::in_place;
@@ -40,11 +39,8 @@ struct X
{return x.i_ == y.i_;}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
optional<X> opt(in_place, 2);
Y y(3);
@@ -67,5 +63,4 @@ int main()
assert(std::move(opt).value_or(Y(3)) == 4);
assert(!opt);
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.observe/value_or_const.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.observe/value_or_const.pass.cpp
index d51f18abbd28b..4a008dce23863 100644
--- a/test/std/experimental/optional/optional.object/optional.object.observe/value_or_const.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.observe/value_or_const.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class U> constexpr T optional<T>::value_or(U&& v) const&;
@@ -15,8 +16,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct Y
@@ -37,11 +36,8 @@ struct X
{return x.i_ == y.i_;}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
constexpr optional<X> opt(2);
constexpr Y y(3);
@@ -78,5 +74,4 @@ int main()
const optional<X> opt;
assert(opt.value_or(Y(3)) == 4);
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp b/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp
index d24a2d06b9d5b..620dda19e3ff1 100644
--- a/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp
+++ b/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -18,8 +19,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
class X
@@ -63,12 +62,8 @@ public:
friend void swap(Z& x, Z& y) {throw 6;}
};
-
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
optional<int> opt1;
optional<int> opt2;
@@ -303,5 +298,4 @@ int main()
assert(static_cast<bool>(opt2) == true);
assert(*opt2 == 2);
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional_const_void.fail.cpp b/test/std/experimental/optional/optional.object/optional_const_void.fail.cpp
index 6999cf2451f1e..02c0a3a63a5e6 100644
--- a/test/std/experimental/optional/optional.object/optional_const_void.fail.cpp
+++ b/test/std/experimental/optional/optional.object/optional_const_void.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// T shall be an object type and shall satisfy the requirements of Destructible
@@ -15,11 +16,7 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
optional<const void> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional_not_destructible.fail.cpp b/test/std/experimental/optional/optional.object/optional_not_destructible.fail.cpp
index 61470af01195a..da8bd05f2c9be 100644
--- a/test/std/experimental/optional/optional.object/optional_not_destructible.fail.cpp
+++ b/test/std/experimental/optional/optional.object/optional_not_destructible.fail.cpp
@@ -7,14 +7,13 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// T shall be an object type and shall satisfy the requirements of Destructible
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -23,13 +22,7 @@ private:
~X() {}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
optional<X> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional_not_noexcept_destructible.fail.cpp b/test/std/experimental/optional/optional.object/optional_not_noexcept_destructible.fail.cpp
index eaee02014c2ff..7aa179afeaf6a 100644
--- a/test/std/experimental/optional/optional.object/optional_not_noexcept_destructible.fail.cpp
+++ b/test/std/experimental/optional/optional.object/optional_not_noexcept_destructible.fail.cpp
@@ -7,14 +7,13 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// T shall be an object type and shall satisfy the requirements of Destructible
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -22,13 +21,7 @@ struct X
~X() noexcept(false) {}
};
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
optional<X> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/optional_void.fail.cpp b/test/std/experimental/optional/optional.object/optional_void.fail.cpp
index f911e9a2d6d48..73f689c56720e 100644
--- a/test/std/experimental/optional/optional.object/optional_void.fail.cpp
+++ b/test/std/experimental/optional/optional.object/optional_void.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// T shall be an object type and shall satisfy the requirements of Destructible
@@ -15,11 +16,7 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
optional<void> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.object/types.pass.cpp b/test/std/experimental/optional/optional.object/types.pass.cpp
index 8b9ad2e195707..af8da2df8fd51 100644
--- a/test/std/experimental/optional/optional.object/types.pass.cpp
+++ b/test/std/experimental/optional/optional.object/types.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T>
@@ -19,8 +20,6 @@
#include <experimental/optional>
#include <type_traits>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
template <class Opt, class T>
@@ -30,14 +29,10 @@ test()
static_assert(std::is_same<typename Opt::value_type, T>::value, "");
}
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
test<optional<int>, int>();
test<optional<const int>, const int>();
test<optional<double>, double>();
test<optional<const double>, const double>();
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.relops/equal.pass.cpp b/test/std/experimental/optional/optional.relops/equal.pass.cpp
index 03b9d3fda5cff..413e7c8b3780b 100644
--- a/test/std/experimental/optional/optional.relops/equal.pass.cpp
+++ b/test/std/experimental/optional/optional.relops/equal.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator==(const optional<T>& x, const optional<T>& y);
@@ -15,8 +16,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -28,16 +27,13 @@ struct X
constexpr bool operator == ( const X &lhs, const X &rhs )
{ return lhs.i_ == rhs.i_ ; }
-
-#endif
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef X T;
typedef optional<T> O;
-
+
constexpr O o1; // disengaged
constexpr O o2; // disengaged
constexpr O o3{1}; // engaged
@@ -75,5 +71,4 @@ int main()
static_assert ( o5 == o5 , "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.relops/greater_equal.pass.cpp b/test/std/experimental/optional/optional.relops/greater_equal.pass.cpp
index 98d6855f93131..c0739dda6b832 100644
--- a/test/std/experimental/optional/optional.relops/greater_equal.pass.cpp
+++ b/test/std/experimental/optional/optional.relops/greater_equal.pass.cpp
@@ -7,14 +7,13 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator>= (const optional<T>& x, const optional<T>& y);
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -27,20 +26,17 @@ struct X
constexpr bool operator < ( const X &lhs, const X &rhs )
{ return lhs.i_ < rhs.i_ ; }
-#endif
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef optional<X> O;
-
+
constexpr O o1; // disengaged
constexpr O o2; // disengaged
constexpr O o3{1}; // engaged
constexpr O o4{2}; // engaged
constexpr O o5{1}; // engaged
-
+
static_assert ( (o1 >= o1), "" );
static_assert ( (o1 >= o2), "" );
static_assert ( !(o1 >= o3), "" );
@@ -71,5 +67,4 @@ int main()
static_assert ( !(o5 >= o4), "" );
static_assert ( (o5 >= o5), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.relops/greater_than.pass.cpp b/test/std/experimental/optional/optional.relops/greater_than.pass.cpp
index d51bd4f2ac466..df7dbb64717fb 100644
--- a/test/std/experimental/optional/optional.relops/greater_than.pass.cpp
+++ b/test/std/experimental/optional/optional.relops/greater_than.pass.cpp
@@ -7,14 +7,13 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator> (const optional<T>& x, const optional<T>& y);
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -27,20 +26,17 @@ struct X
constexpr bool operator < ( const X &lhs, const X &rhs )
{ return lhs.i_ < rhs.i_ ; }
-#endif
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef optional<X> O;
-
+
constexpr O o1; // disengaged
constexpr O o2; // disengaged
constexpr O o3{1}; // engaged
constexpr O o4{2}; // engaged
constexpr O o5{1}; // engaged
-
+
static_assert ( !(o1 > o1), "" );
static_assert ( !(o1 > o2), "" );
static_assert ( !(o1 > o3), "" );
@@ -71,5 +67,4 @@ int main()
static_assert ( !(o5 > o4), "" );
static_assert ( !(o5 > o5), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.relops/less_equal.pass.cpp b/test/std/experimental/optional/optional.relops/less_equal.pass.cpp
index 326f3a8964939..d4874d17b2405 100644
--- a/test/std/experimental/optional/optional.relops/less_equal.pass.cpp
+++ b/test/std/experimental/optional/optional.relops/less_equal.pass.cpp
@@ -7,14 +7,13 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator<= (const optional<T>& x, const optional<T>& y);
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -27,20 +26,17 @@ struct X
constexpr bool operator < ( const X &lhs, const X &rhs )
{ return lhs.i_ < rhs.i_ ; }
-#endif
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef optional<X> O;
-
+
constexpr O o1; // disengaged
constexpr O o2; // disengaged
constexpr O o3{1}; // engaged
constexpr O o4{2}; // engaged
constexpr O o5{1}; // engaged
-
+
static_assert ( (o1 <= o1), "" );
static_assert ( (o1 <= o2), "" );
static_assert ( (o1 <= o3), "" );
@@ -71,5 +67,4 @@ int main()
static_assert ( (o5 <= o4), "" );
static_assert ( (o5 <= o5), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.relops/less_than.pass.cpp b/test/std/experimental/optional/optional.relops/less_than.pass.cpp
index 37f7e1942982c..4113408268e8f 100644
--- a/test/std/experimental/optional/optional.relops/less_than.pass.cpp
+++ b/test/std/experimental/optional/optional.relops/less_than.pass.cpp
@@ -7,14 +7,13 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator< (const optional<T>& x, const optional<T>& y);
#include <experimental/optional>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -27,20 +26,17 @@ struct X
constexpr bool operator < ( const X &lhs, const X &rhs )
{ return lhs.i_ < rhs.i_ ; }
-#endif
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef optional<X> O;
-
+
constexpr O o1; // disengaged
constexpr O o2; // disengaged
constexpr O o3{1}; // engaged
constexpr O o4{2}; // engaged
constexpr O o5{1}; // engaged
-
+
static_assert ( !(o1 < o1), "" );
static_assert ( !(o1 < o2), "" );
static_assert ( (o1 < o3), "" );
@@ -71,5 +67,4 @@ int main()
static_assert ( (o5 < o4), "" );
static_assert ( !(o5 < o5), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.relops/not_equal.pass.cpp b/test/std/experimental/optional/optional.relops/not_equal.pass.cpp
index f386c7e361ecd..19a196317d4f8 100644
--- a/test/std/experimental/optional/optional.relops/not_equal.pass.cpp
+++ b/test/std/experimental/optional/optional.relops/not_equal.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T> constexpr bool operator!=(const optional<T>& x, const optional<T>& y);
@@ -15,8 +16,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
struct X
@@ -28,16 +27,13 @@ struct X
constexpr bool operator == ( const X &lhs, const X &rhs )
{ return lhs.i_ == rhs.i_ ; }
-
-#endif
int main()
{
-#if _LIBCPP_STD_VER > 11
{
typedef X T;
typedef optional<T> O;
-
+
constexpr O o1; // disengaged
constexpr O o2; // disengaged
constexpr O o3{1}; // engaged
@@ -75,5 +71,4 @@ int main()
static_assert ( !(o5 != o5), "" );
}
-#endif
}
diff --git a/test/std/experimental/optional/optional.specalg/make_optional.pass.cpp b/test/std/experimental/optional/optional.specalg/make_optional.pass.cpp
index cc95e6110e8d7..9abd87bd40513 100644
--- a/test/std/experimental/optional/optional.specalg/make_optional.pass.cpp
+++ b/test/std/experimental/optional/optional.specalg/make_optional.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// template <class T>
@@ -19,9 +20,10 @@
#include <memory>
#include <cassert>
+#include "test_macros.h"
+
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
using std::experimental::make_optional;
@@ -38,7 +40,7 @@ int main()
std::string s("123");
optional<std::string> opt = make_optional(std::move(s));
assert(*opt == "123");
- assert(s.empty());
+ LIBCPP_ASSERT(s.empty());
}
{
std::unique_ptr<int> s(new int(3));
@@ -46,5 +48,4 @@ int main()
assert(**opt == 3);
assert(s == nullptr);
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.specalg/swap.pass.cpp b/test/std/experimental/optional/optional.specalg/swap.pass.cpp
index 6c5f7b0e860c1..d339c53c1f771 100644
--- a/test/std/experimental/optional/optional.specalg/swap.pass.cpp
+++ b/test/std/experimental/optional/optional.specalg/swap.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// XFAIL: libcpp-no-exceptions
// <optional>
@@ -17,8 +18,6 @@
#include <type_traits>
#include <cassert>
-#if _LIBCPP_STD_VER > 11
-
using std::experimental::optional;
class X
@@ -62,12 +61,8 @@ public:
friend void swap(Z& x, Z& y) {throw 6;}
};
-
-#endif // _LIBCPP_STD_VER > 11
-
int main()
{
-#if _LIBCPP_STD_VER > 11
{
optional<int> opt1;
optional<int> opt2;
@@ -302,5 +297,4 @@ int main()
assert(static_cast<bool>(opt2) == true);
assert(*opt2 == 2);
}
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.syn/optional_const_in_place_t.fail.cpp b/test/std/experimental/optional/optional.syn/optional_const_in_place_t.fail.cpp
index 60836ae2396ea..bdf01eba406f7 100644
--- a/test/std/experimental/optional/optional.syn/optional_const_in_place_t.fail.cpp
+++ b/test/std/experimental/optional/optional.syn/optional_const_in_place_t.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// A program that necessitates the instantiation of template optional for
@@ -16,13 +17,9 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
using std::experimental::in_place_t;
using std::experimental::in_place;
optional<const in_place_t> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.syn/optional_const_lvalue_ref.fail.cpp b/test/std/experimental/optional/optional.syn/optional_const_lvalue_ref.fail.cpp
index 9a4ba1a027a10..61393c105e959 100644
--- a/test/std/experimental/optional/optional.syn/optional_const_lvalue_ref.fail.cpp
+++ b/test/std/experimental/optional/optional.syn/optional_const_lvalue_ref.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// A program that necessitates the instantiation of template optional for a
@@ -16,11 +17,7 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
optional<const int&> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.syn/optional_const_nullopt_t.fail.cpp b/test/std/experimental/optional/optional.syn/optional_const_nullopt_t.fail.cpp
index f6220bda69c4e..89c207306aba8 100644
--- a/test/std/experimental/optional/optional.syn/optional_const_nullopt_t.fail.cpp
+++ b/test/std/experimental/optional/optional.syn/optional_const_nullopt_t.fail.cpp
@@ -7,22 +7,19 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// A program that necessitates the instantiation of template optional for
-// (possibly cv-qualified) null_opt_t is ill-formed.
+// (possibly cv-qualified) nullopt_t is ill-formed.
#include <experimental/optional>
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
using std::experimental::nullopt_t;
using std::experimental::nullopt;
optional<const nullopt_t> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.syn/optional_in_place_t.fail.cpp b/test/std/experimental/optional/optional.syn/optional_in_place_t.fail.cpp
index 12f291fcd228f..47c2be7da0d0a 100644
--- a/test/std/experimental/optional/optional.syn/optional_in_place_t.fail.cpp
+++ b/test/std/experimental/optional/optional.syn/optional_in_place_t.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// A program that necessitates the instantiation of template optional for
@@ -16,13 +17,9 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
using std::experimental::in_place_t;
using std::experimental::in_place;
optional<in_place_t> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.syn/optional_includes_initializer_list.pass.cpp b/test/std/experimental/optional/optional.syn/optional_includes_initializer_list.pass.cpp
index 7e6697ff6e508..8cf11b553e745 100644
--- a/test/std/experimental/optional/optional.syn/optional_includes_initializer_list.pass.cpp
+++ b/test/std/experimental/optional/optional.syn/optional_includes_initializer_list.pass.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// #include <initializer_list>
@@ -15,9 +16,7 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
std::initializer_list<int> list;
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.syn/optional_lvalue_ref.fail.cpp b/test/std/experimental/optional/optional.syn/optional_lvalue_ref.fail.cpp
index 850df342aef04..de2f18991b246 100644
--- a/test/std/experimental/optional/optional.syn/optional_lvalue_ref.fail.cpp
+++ b/test/std/experimental/optional/optional.syn/optional_lvalue_ref.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// A program that necessitates the instantiation of template optional for a
@@ -16,11 +17,7 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
optional<int&> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.syn/optional_nullopt_t.fail.cpp b/test/std/experimental/optional/optional.syn/optional_nullopt_t.fail.cpp
index 20955ace834ae..3d276d6420226 100644
--- a/test/std/experimental/optional/optional.syn/optional_nullopt_t.fail.cpp
+++ b/test/std/experimental/optional/optional.syn/optional_nullopt_t.fail.cpp
@@ -7,22 +7,19 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// A program that necessitates the instantiation of template optional for
-// (possibly cv-qualified) null_opt_t is ill-formed.
+// (possibly cv-qualified) nullopt_t is ill-formed.
#include <experimental/optional>
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
using std::experimental::nullopt_t;
using std::experimental::nullopt;
optional<nullopt_t> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/optional.syn/optional_rvalue_ref.fail.cpp b/test/std/experimental/optional/optional.syn/optional_rvalue_ref.fail.cpp
index d773e993df227..fd6da18e8c161 100644
--- a/test/std/experimental/optional/optional.syn/optional_rvalue_ref.fail.cpp
+++ b/test/std/experimental/optional/optional.syn/optional_rvalue_ref.fail.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03, c++11
// <optional>
// A program that necessitates the instantiation of template optional for a
@@ -16,11 +17,7 @@
int main()
{
-#if _LIBCPP_STD_VER > 11
using std::experimental::optional;
optional<int&&> opt;
-#else
-#error
-#endif // _LIBCPP_STD_VER > 11
}
diff --git a/test/std/experimental/optional/version.pass.cpp b/test/std/experimental/optional/version.pass.cpp
deleted file mode 100644
index 585b7a24eea5a..0000000000000
--- a/test/std/experimental/optional/version.pass.cpp
+++ /dev/null
@@ -1,20 +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.
-//
-//===----------------------------------------------------------------------===//
-
-// <optional>
-
-#include <experimental/optional>
-
-#ifndef _LIBCPP_VERSION
-#error _LIBCPP_VERSION not defined
-#endif
-
-int main()
-{
-}