summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp')
-rw-r--r--libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp b/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
index 015e85a0135..512505b78f0 100644
--- a/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
+++ b/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
@@ -53,6 +53,20 @@ constexpr bool can_swap() {
}
#endif
+#if TEST_STD_VER > 17
+constexpr bool test_swap_constexpr()
+{
+ int i[3] = {1, 2, 3};
+ int j[3] = {4, 5, 6};
+ std::swap(i, j);
+ return i[0] == 4 &&
+ i[1] == 5 &&
+ i[2] == 6 &&
+ j[0] == 1 &&
+ j[1] == 2 &&
+ j[2] == 3;
+}
+#endif // TEST_STD_VER > 17
int main(int, char**)
{
@@ -98,5 +112,9 @@ int main(int, char**)
}
#endif
+#if TEST_STD_VER > 17
+ static_assert(test_swap_constexpr());
+#endif // TEST_STD_VER > 17
+
return 0;
}
OpenPOWER on IntegriCloud