summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
diff options
context:
space:
mode:
authorZoe Carver <z.zoelec2@gmail.com>2019-07-05 20:13:34 +0000
committerZoe Carver <z.zoelec2@gmail.com>2019-07-05 20:13:34 +0000
commit28e0187175ceeadae61d01fcedefa15f97f454f0 (patch)
tree338f0e726a82738a2b51b8e7cfb275890bdf1246 /libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
parent05eebaa949d0febd83ac351857f1ac59f54da197 (diff)
downloadbcm5719-llvm-28e0187175ceeadae61d01fcedefa15f97f454f0.tar.gz
bcm5719-llvm-28e0187175ceeadae61d01fcedefa15f97f454f0.zip
This patch makes swap functions constexpr. Both swap overloads, swap_ranges and iter_swap are updated (with tests).
llvm-svn: 365238
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