summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp5
-rw-r--r--libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp5
-rw-r--r--libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp5
-rw-r--r--libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp5
-rw-r--r--libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp5
6 files changed, 29 insertions, 0 deletions
diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
index 18efd10a30b..68111c0c13b 100644
--- a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
+++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
@@ -69,6 +69,11 @@ void test_implicit()
static_assert(implicit_conversion<long double>(3.14, 3.14), "");
}
{
+ int x = 42;
+ optional<void* const> o(&x);
+ assert(*o == &x);
+ }
+ {
using T = TrivialTestTypes::TestType;
static_assert(implicit_conversion<T>(42, 42), "");
}
diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
index 3f98d907890..34a12b8ad1c 100644
--- a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
+++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
@@ -53,6 +53,11 @@ int main()
}
{
+ const int x = 42;
+ optional<const int> o(x);
+ assert(*o == x);
+ }
+ {
typedef TestTypes::TestType T;
T::reset();
const T t(3);
diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp
index d2b704c95f2..5906d4edd11 100644
--- a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp
+++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp
@@ -109,6 +109,11 @@ int main()
test<int>();
test<int>(3);
{
+ const optional<const int> o(42);
+ optional<const int> o2(o);
+ assert(*o2 == 42);
+ }
+ {
using T = TestTypes::TestType;
T::reset();
const optional<T> rhs;
diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
index 3cc456f850c..d0823d2c8c8 100644
--- a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
+++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
@@ -75,6 +75,10 @@ int main()
}
{
+ optional<const int> opt(in_place, 5);
+ assert(*opt == 5);
+ }
+ {
const optional<X> opt(in_place);
assert(static_cast<bool>(opt) == true);
assert(*opt == X());
diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
index 5a4929c5373..bff6f5bf8f6 100644
--- a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
+++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
@@ -137,6 +137,11 @@ int main()
test<int>();
test<int>(3);
{
+ optional<const int> o(42);
+ optional<const int> o2(std::move(o));
+ assert(*o2 == 42);
+ }
+ {
using T = TestTypes::TestType;
T::reset();
optional<T> rhs;
diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
index 496661d922a..eee749d0170 100644
--- a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
+++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
@@ -59,6 +59,11 @@ int main()
};
}
{
+ const int x = 42;
+ optional<const int> o(std::move(x));
+ assert(*o == 42);
+ }
+ {
typedef TestTypes::TestType T;
T::reset();
optional<T> opt = T{3};
OpenPOWER on IntegriCloud