summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/25_algorithms/max/4.cc
diff options
context:
space:
mode:
authorPaolo Carlini <paolo@gcc.gnu.org>2008-09-16 23:17:09 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2008-09-16 23:17:09 +0000
commit1edd1a831747f2aa772b8cc6cf476965112b2bff (patch)
treeb4ff9c91d3fc08d4f54f189776609467e05513d1 /libstdc++-v3/testsuite/25_algorithms/max/4.cc
parentb5fb36eecd378fe4c880ba53d3025a32fd0aeab2 (diff)
downloadgcc-1edd1a831747f2aa772b8cc6cf476965112b2bff.tar.gz
[multiple changes]
2008-09-16 Chris Fairles <chris.fairles@gmail.com> * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc: New. * testsuite/25_algorithms/min/requirements/explicit_instantiation/ pod2.cc: Likewise. * testsuite/25_algorithms/min/3.cc: Likewise. * testsuite/25_algorithms/min/4.cc: Likewise. * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc: Likewise. * testsuite/25_algorithms/max/requirements/explicit_instantiation/ pod2.cc: Likewise. * testsuite/25_algorithms/max/3.cc: Likewise. * testsuite/25_algorithms/max/4.cc: Likewise. * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/ 3.cc: Likewise. * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/ pod2.cc: Likewise. * testsuite/25_algorithms/minmax/2.cc: Likewise. * testsuite/25_algorithms/minmax/3.cc: Likewise. 2008-09-16 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/stl_algo.h (min(initializer_list<>), min(initializer_list<>, Compare), max(initializer_list<>), max(initializer_list<>, Compare), minmax(initializer_list<>), minmax(initializer_list<>, Compare)): Add in C++0x mode. * include/bits/algorithmfwd.h: Add. * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise. From-SVN: r140404
Diffstat (limited to 'libstdc++-v3/testsuite/25_algorithms/max/4.cc')
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/4.cc55
1 files changed, 55 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/4.cc b/libstdc++-v3/testsuite/25_algorithms/max/4.cc
new file mode 100644
index 00000000000..523728f5137
--- /dev/null
+++ b/libstdc++-v3/testsuite/25_algorithms/max/4.cc
@@ -0,0 +1,55 @@
+// { dg-options "-std=gnu++0x" }
+
+// Copyright (C) 2008 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+#include <algorithm>
+#include <functional>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+ bool test __attribute__((unused)) = true;
+
+ const int& z = std::max({1, 2, 3, 4, 5, 6, 7});
+ const double& w = std::max({2.0, 1.0, 3.2, 4.5, 5.0, 6.0, 7.0});
+ const int& y = std::max({2, 3, 1, 4, 5, 6, 7});
+ const float& x = std::max({2.0f, 3.0f, 5.0f, 1.0f, 7.0f, 6.0f});
+ VERIFY( z == 7 );
+ VERIFY( w == 7.0 );
+ VERIFY( y == 7 );
+ VERIFY( x == 7.0f );
+
+ const int& zc = std::max({1, 2, 3, 4, 5, 6, 7}, std::greater<int>());
+ const double& wc = std::max({2.0, 1.0, 3.2, 4.5, 5.0},
+ std::greater<double>());
+ const int& yc = std::max({2, 7, 1, 4, 5, 6, 3}, std::greater<int>());
+ const float& xc = std::max({2.0f, 3.0f, 5.0f, 1.0f},
+ std::greater<float>());
+
+ VERIFY( zc == 1 );
+ VERIFY( wc == 1.0 );
+ VERIFY( yc == 1 );
+ VERIFY( xc == 1.0f );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}