diff options
author | Howard Hinnant <hhinnant@apple.com> | 2010-08-21 20:10:01 +0000 |
---|---|---|
committer | Howard Hinnant <hhinnant@apple.com> | 2010-08-21 20:10:01 +0000 |
commit | 4eb27b79c1cb002cea8d74f5b5796a610ed8ab8a (patch) | |
tree | 62bedb8792a64046ff9fc4e4322ecb636dca370c /libcxx/test | |
parent | db9820ecaa740441e522c40b2c90a65ff78921c4 (diff) | |
download | bcm5719-llvm-4eb27b79c1cb002cea8d74f5b5796a610ed8ab8a.tar.gz bcm5719-llvm-4eb27b79c1cb002cea8d74f5b5796a610ed8ab8a.zip |
US 122, N3106
llvm-svn: 111742
Diffstat (limited to 'libcxx/test')
7 files changed, 81 insertions, 18 deletions
diff --git a/libcxx/test/algorithms/alg.sorting/alg.min.max/max_init_list.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.min.max/max_init_list.pass.cpp index a5b61d63159..124ca61be9a 100644 --- a/libcxx/test/algorithms/alg.sorting/alg.min.max/max_init_list.pass.cpp +++ b/libcxx/test/algorithms/alg.sorting/alg.min.max/max_init_list.pass.cpp @@ -16,8 +16,20 @@ #include <algorithm> #include <cassert> -#error max(initializer_list<T> t) is not implemented - int main() { +#ifdef _LIBCPP_MOVE + int i = std::max({2, 3, 1}); + assert(i == 3); + i = std::max({2, 1, 3}); + assert(i == 3); + i = std::max({3, 1, 2}); + assert(i == 3); + i = std::max({3, 2, 1}); + assert(i == 3); + i = std::max({1, 2, 3}); + assert(i == 3); + i = std::max({1, 3, 2}); + assert(i == 3); +#endif } diff --git a/libcxx/test/algorithms/alg.sorting/alg.min.max/max_init_list_comp.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.min.max/max_init_list_comp.pass.cpp index 133e104583c..8c78fbdb6f1 100644 --- a/libcxx/test/algorithms/alg.sorting/alg.min.max/max_init_list_comp.pass.cpp +++ b/libcxx/test/algorithms/alg.sorting/alg.min.max/max_init_list_comp.pass.cpp @@ -14,10 +14,23 @@ // max(initializer_list<T> t, Compare comp); #include <algorithm> +#include <functional> #include <cassert> -#error max(initializer_list<T> t, Compare comp) is not implemented - int main() { +#ifdef _LIBCPP_MOVE + int i = std::max({2, 3, 1}, std::greater<int>()); + assert(i == 1); + i = std::max({2, 1, 3}, std::greater<int>()); + assert(i == 1); + i = std::max({3, 1, 2}, std::greater<int>()); + assert(i == 1); + i = std::max({3, 2, 1}, std::greater<int>()); + assert(i == 1); + i = std::max({1, 2, 3}, std::greater<int>()); + assert(i == 1); + i = std::max({1, 3, 2}, std::greater<int>()); + assert(i == 1); +#endif } diff --git a/libcxx/test/algorithms/alg.sorting/alg.min.max/min_init_list.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.min.max/min_init_list.pass.cpp index 977f8b61a61..bb19d4fdf99 100644 --- a/libcxx/test/algorithms/alg.sorting/alg.min.max/min_init_list.pass.cpp +++ b/libcxx/test/algorithms/alg.sorting/alg.min.max/min_init_list.pass.cpp @@ -16,8 +16,20 @@ #include <algorithm> #include <cassert> -#error min(initializer_list<T> t) is not implemented - int main() { +#ifdef _LIBCPP_MOVE + int i = std::min({2, 3, 1}); + assert(i == 1); + i = std::min({2, 1, 3}); + assert(i == 1); + i = std::min({3, 1, 2}); + assert(i == 1); + i = std::min({3, 2, 1}); + assert(i == 1); + i = std::min({1, 2, 3}); + assert(i == 1); + i = std::min({1, 3, 2}); + assert(i == 1); +#endif } diff --git a/libcxx/test/algorithms/alg.sorting/alg.min.max/min_init_list_comp.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.min.max/min_init_list_comp.pass.cpp index 04bf2f9959b..161d68207c6 100644 --- a/libcxx/test/algorithms/alg.sorting/alg.min.max/min_init_list_comp.pass.cpp +++ b/libcxx/test/algorithms/alg.sorting/alg.min.max/min_init_list_comp.pass.cpp @@ -14,10 +14,23 @@ // min(initializer_list<T> t, Compare comp); #include <algorithm> +#include <functional> #include <cassert> -#error min(initializer_list<T> t, Compare comp) is not implemented - int main() { +#ifdef _LIBCPP_MOVE + int i = std::min({2, 3, 1}, std::greater<int>()); + assert(i == 3); + i = std::min({2, 1, 3}, std::greater<int>()); + assert(i == 3); + i = std::min({3, 1, 2}, std::greater<int>()); + assert(i == 3); + i = std::min({3, 2, 1}, std::greater<int>()); + assert(i == 3); + i = std::min({1, 2, 3}, std::greater<int>()); + assert(i == 3); + i = std::min({1, 3, 2}, std::greater<int>()); + assert(i == 3); +#endif } diff --git a/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp index d35c3907ae0..83fa53c8f1c 100644 --- a/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp +++ b/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp @@ -38,13 +38,13 @@ int main() { int x = 0; int y = 1; - test(x, y, std::greater<int>(), x, y); - test(y, x, std::greater<int>(), x, y); + test(x, y, std::greater<int>(), y, x); + test(y, x, std::greater<int>(), y, x); } { int x = 1; int y = 0; - test(x, y, std::greater<int>(), y, x); - test(y, x, std::greater<int>(), y, x); + test(x, y, std::greater<int>(), x, y); + test(y, x, std::greater<int>(), x, y); } } diff --git a/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp index d10ee550b1b..0dbb2117228 100644 --- a/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp +++ b/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp @@ -10,14 +10,20 @@ // <algorithm> // template<class T> -// pair<const T&, const T&> +// pair<T, T> // minmax(initializer_list<T> t); #include <algorithm> #include <cassert> -#error minmax(initializer_list<T> t) is not implemented - int main() { +#ifdef _LIBCPP_MOVE + assert((std::minmax({1, 2, 3}) == std::pair<int, int>(1, 3))); + assert((std::minmax({1, 3, 2}) == std::pair<int, int>(1, 3))); + assert((std::minmax({2, 1, 3}) == std::pair<int, int>(1, 3))); + assert((std::minmax({2, 3, 1}) == std::pair<int, int>(1, 3))); + assert((std::minmax({3, 1, 2}) == std::pair<int, int>(1, 3))); + assert((std::minmax({3, 2, 1}) == std::pair<int, int>(1, 3))); +#endif } diff --git a/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp index 5b47f1c6eba..4f3d1441402 100644 --- a/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp +++ b/libcxx/test/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp @@ -10,14 +10,21 @@ // <algorithm> // template<class T, class Compare> -// pair<const T&, const T&> +// pair<T, T> // minmax(initializer_list<T> t, Compare comp); #include <algorithm> +#include <functional> #include <cassert> -#error minmax(initializer_list<T> t, Compare comp) is not implemented - int main() { +#ifdef _LIBCPP_MOVE + assert((std::minmax({1, 2, 3}, std::greater<int>()) == std::pair<int, int>(3, 1))); + assert((std::minmax({1, 3, 2}, std::greater<int>()) == std::pair<int, int>(3, 1))); + assert((std::minmax({2, 1, 3}, std::greater<int>()) == std::pair<int, int>(3, 1))); + assert((std::minmax({2, 3, 1}, std::greater<int>()) == std::pair<int, int>(3, 1))); + assert((std::minmax({3, 1, 2}, std::greater<int>()) == std::pair<int, int>(3, 1))); + assert((std::minmax({3, 2, 1}, std::greater<int>()) == std::pair<int, int>(3, 1))); +#endif } |