aboutsummaryrefslogtreecommitdiff
path: root/test/libcxx/utilities/variant/variant.variant
diff options
context:
space:
mode:
Diffstat (limited to 'test/libcxx/utilities/variant/variant.variant')
-rw-r--r--test/libcxx/utilities/variant/variant.variant/variant.assign/copy.pass.cpp31
-rw-r--r--test/libcxx/utilities/variant/variant.variant/variant.assign/move.pass.cpp28
-rw-r--r--test/libcxx/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp36
-rw-r--r--test/libcxx/utilities/variant/variant.variant/variant.ctor/move.pass.cpp24
4 files changed, 60 insertions, 59 deletions
diff --git a/test/libcxx/utilities/variant/variant.variant/variant.assign/copy.pass.cpp b/test/libcxx/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
index a94aa2f78299..cb17dfeb071a 100644
--- a/test/libcxx/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
+++ b/test/libcxx/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
@@ -10,8 +10,9 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// Clang 3.8 doesn't generate constexpr special members correctly.
-// XFAIL: clang-3.8, apple-clang-7, apple-clang-8
+// The following compilers don't generate constexpr special members correctly.
+// XFAIL: clang-3.5, clang-3.6, clang-3.7, clang-3.8
+// XFAIL: apple-clang-6, apple-clang-7, apple-clang-8
// <variant>
@@ -63,7 +64,7 @@ struct TCopyAssignNTMoveAssign {
int value;
};
-static_assert(std::is_trivially_copy_assignable_v<TCopyAssignNTMoveAssign>);
+static_assert(std::is_trivially_copy_assignable_v<TCopyAssignNTMoveAssign>, "");
void test_copy_assignment_sfinae() {
{
@@ -99,8 +100,8 @@ void test_copy_assignment_same_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 0);
- static_assert(result.value == 42);
+ static_assert(result.index == 0, "");
+ static_assert(result.value == 42, "");
}
{
struct {
@@ -113,8 +114,8 @@ void test_copy_assignment_same_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value == 42l);
+ static_assert(result.index == 1, "");
+ static_assert(result.value == 42l, "");
}
{
struct {
@@ -127,8 +128,8 @@ void test_copy_assignment_same_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value == 42);
+ static_assert(result.index == 1, "");
+ static_assert(result.value == 42, "");
}
{
struct {
@@ -141,8 +142,8 @@ void test_copy_assignment_same_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value == 42);
+ static_assert(result.index == 1, "");
+ static_assert(result.value == 42, "");
}
}
@@ -158,8 +159,8 @@ void test_copy_assignment_different_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value == 42l);
+ static_assert(result.index == 1, "");
+ static_assert(result.value == 42l, "");
}
{
struct {
@@ -172,8 +173,8 @@ void test_copy_assignment_different_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value == 42);
+ static_assert(result.index == 1, "");
+ static_assert(result.value == 42, "");
}
}
diff --git a/test/libcxx/utilities/variant/variant.variant/variant.assign/move.pass.cpp b/test/libcxx/utilities/variant/variant.variant/variant.assign/move.pass.cpp
index a3d92472dd5e..286a623882fe 100644
--- a/test/libcxx/utilities/variant/variant.variant/variant.assign/move.pass.cpp
+++ b/test/libcxx/utilities/variant/variant.variant/variant.assign/move.pass.cpp
@@ -10,9 +10,9 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// Clang 3.8 doesn't generate constexpr special members correctly.
-// XFAIL: clang-3.8, apple-clang-7, apple-clang-8
-
+// The following compilers don't generate constexpr special members correctly.
+// XFAIL: clang-3.5, clang-3.6, clang-3.7, clang-3.8
+// XFAIL: apple-clang-6, apple-clang-7, apple-clang-8
// <variant>
@@ -64,7 +64,7 @@ struct TMoveAssignNTCopyAssign {
int value;
};
-static_assert(std::is_trivially_move_assignable_v<TMoveAssignNTCopyAssign>);
+static_assert(std::is_trivially_move_assignable_v<TMoveAssignNTCopyAssign>, "");
void test_move_assignment_sfinae() {
{
@@ -100,8 +100,8 @@ void test_move_assignment_same_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 0);
- static_assert(result.value == 42);
+ static_assert(result.index == 0, "");
+ static_assert(result.value == 42, "");
}
{
struct {
@@ -114,8 +114,8 @@ void test_move_assignment_same_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value == 42l);
+ static_assert(result.index == 1, "");
+ static_assert(result.value == 42l, "");
}
{
struct {
@@ -128,8 +128,8 @@ void test_move_assignment_same_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value == 42);
+ static_assert(result.index == 1, "");
+ static_assert(result.value == 42, "");
}
}
@@ -145,8 +145,8 @@ void test_move_assignment_different_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value == 42l);
+ static_assert(result.index == 1, "");
+ static_assert(result.value == 42l, "");
}
{
struct {
@@ -159,8 +159,8 @@ void test_move_assignment_different_index() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value == 42);
+ static_assert(result.index == 1, "");
+ static_assert(result.value == 42, "");
}
}
diff --git a/test/libcxx/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp b/test/libcxx/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
index 59c433050590..0d30a78a48ac 100644
--- a/test/libcxx/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
+++ b/test/libcxx/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
@@ -72,45 +72,45 @@ void test_copy_ctor_sfinae() {
void test_copy_ctor_basic() {
{
constexpr std::variant<int> v(std::in_place_index<0>, 42);
- static_assert(v.index() == 0);
+ static_assert(v.index() == 0, "");
constexpr std::variant<int> v2 = v;
- static_assert(v2.index() == 0);
- static_assert(std::get<0>(v2) == 42);
+ static_assert(v2.index() == 0, "");
+ static_assert(std::get<0>(v2) == 42, "");
}
{
constexpr std::variant<int, long> v(std::in_place_index<1>, 42);
- static_assert(v.index() == 1);
+ static_assert(v.index() == 1, "");
constexpr std::variant<int, long> v2 = v;
- static_assert(v2.index() == 1);
- static_assert(std::get<1>(v2) == 42);
+ static_assert(v2.index() == 1, "");
+ static_assert(std::get<1>(v2) == 42, "");
}
{
constexpr std::variant<TCopy> v(std::in_place_index<0>, 42);
- static_assert(v.index() == 0);
+ static_assert(v.index() == 0, "");
constexpr std::variant<TCopy> v2(v);
- static_assert(v2.index() == 0);
- static_assert(std::get<0>(v2).value == 42);
+ static_assert(v2.index() == 0, "");
+ static_assert(std::get<0>(v2).value == 42, "");
}
{
constexpr std::variant<int, TCopy> v(std::in_place_index<1>, 42);
- static_assert(v.index() == 1);
+ static_assert(v.index() == 1, "");
constexpr std::variant<int, TCopy> v2(v);
- static_assert(v2.index() == 1);
- static_assert(std::get<1>(v2).value == 42);
+ static_assert(v2.index() == 1, "");
+ static_assert(std::get<1>(v2).value == 42, "");
}
{
constexpr std::variant<TCopyNTMove> v(std::in_place_index<0>, 42);
- static_assert(v.index() == 0);
+ static_assert(v.index() == 0, "");
constexpr std::variant<TCopyNTMove> v2(v);
- static_assert(v2.index() == 0);
- static_assert(std::get<0>(v2).value == 42);
+ static_assert(v2.index() == 0, "");
+ static_assert(std::get<0>(v2).value == 42, "");
}
{
constexpr std::variant<int, TCopyNTMove> v(std::in_place_index<1>, 42);
- static_assert(v.index() == 1);
+ static_assert(v.index() == 1, "");
constexpr std::variant<int, TCopyNTMove> v2(v);
- static_assert(v2.index() == 1);
- static_assert(std::get<1>(v2).value == 42);
+ static_assert(v2.index() == 1, "");
+ static_assert(std::get<1>(v2).value == 42, "");
}
}
diff --git a/test/libcxx/utilities/variant/variant.variant/variant.ctor/move.pass.cpp b/test/libcxx/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
index e67a495d9799..91e8c194d144 100644
--- a/test/libcxx/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
+++ b/test/libcxx/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
@@ -82,8 +82,8 @@ void test_move_ctor_basic() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 0);
- static_assert(result.value == 42);
+ static_assert(result.index == 0, "");
+ static_assert(result.value == 42, "");
}
{
struct {
@@ -94,8 +94,8 @@ void test_move_ctor_basic() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value == 42);
+ static_assert(result.index == 1, "");
+ static_assert(result.value == 42, "");
}
{
struct {
@@ -106,8 +106,8 @@ void test_move_ctor_basic() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 0);
- static_assert(result.value.value == 42);
+ static_assert(result.index == 0, "");
+ static_assert(result.value.value == 42, "");
}
{
struct {
@@ -118,8 +118,8 @@ void test_move_ctor_basic() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value.value == 42);
+ static_assert(result.index == 1, "");
+ static_assert(result.value.value == 42, "");
}
{
struct {
@@ -130,8 +130,8 @@ void test_move_ctor_basic() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 0);
- static_assert(result.value.value == 42);
+ static_assert(result.index == 0, "");
+ static_assert(result.value.value == 42, "");
}
{
struct {
@@ -142,8 +142,8 @@ void test_move_ctor_basic() {
}
} test;
constexpr auto result = test();
- static_assert(result.index == 1);
- static_assert(result.value.value == 42);
+ static_assert(result.index == 1, "");
+ static_assert(result.value.value == 42, "");
}
}