Commit a0560e75 by Paolo Carlini Committed by Paolo Carlini

re PR libstdc++/40600 (pair& operator=(pair&& __p) doesn't work without inlining)

2009-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40600
	* testsuite/25_algorithms/minmax/2.cc: Fix consistently with
	std::minmax return type.
	* testsuite/25_algorithms/minmax/3.cc: Likewise.

From-SVN: r149094
parent d8dc68cb
2009-06-30 Paolo Carlini <paolo.carlini@oracle.com> 2009-06-30 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40600
* testsuite/25_algorithms/minmax/2.cc: Fix consistently with
std::minmax return type.
* testsuite/25_algorithms/minmax/3.cc: Likewise.
2009-06-30 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40511 PR libstdc++/40511
* config/locale/gnu/c_locale.cc: Don't use LC_CTYPE_MASK together * config/locale/gnu/c_locale.cc: Don't use LC_CTYPE_MASK together
with glibc2.2.x. with glibc2.2.x.
......
...@@ -27,25 +27,25 @@ void test01() ...@@ -27,25 +27,25 @@ void test01()
{ {
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
std::pair<const int&, const int&> z = std::minmax({1, 2, 3}); std::pair<int, int> z = std::minmax({1, 2, 3});
std::pair<const int&, const int&> w = std::minmax({4, 3, 5, 4}); std::pair<int, int> w = std::minmax({4, 3, 5, 4});
std::pair<const int&, const int&> y = std::minmax({4, 5, 3, 7, 3}); std::pair<int, int> y = std::minmax({4, 5, 3, 7, 3});
VERIFY( z.first == 1 ); VERIFY( z.first == 1 );
VERIFY( z.second == 3 ); VERIFY( z.second == 3 );
VERIFY( w.first == 3 ); VERIFY( w.first == 3 );
VERIFY( w.second == 5 ); VERIFY( w.second == 5 );
VERIFY( y.first == 3 ); VERIFY( y.first == 3 );
VERIFY( y.second == 7 ); VERIFY( y.second == 7 );
std::pair<const int&, const int&> zc = std::pair<int, int> zc =
std::minmax({1, 2, 3}, std::greater<int>()); std::minmax({1, 2, 3}, std::greater<int>());
std::pair<const int&, const int&> wc = std::pair<int, int> wc =
std::minmax({4, 3, 5, 4}, std::greater<int>()); std::minmax({4, 3, 5, 4}, std::greater<int>());
std::pair<const int&, const int&> yc = std::pair<int, int> yc =
std::minmax({4, 5, 3, 7, 3}, std::greater<int>()); std::minmax({4, 5, 3, 7, 3}, std::greater<int>());
VERIFY( zc.first == 3 ); VERIFY( zc.first == 3 );
VERIFY( zc.second == 1 ); VERIFY( zc.second == 1 );
VERIFY( wc.first == 5 ); VERIFY( wc.first == 5 );
......
...@@ -41,8 +41,8 @@ void test01() ...@@ -41,8 +41,8 @@ void test01()
{ {
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
std::pair<const int&, const int&> z = std::minmax({1, 2, 3, 4, 5, 6, 7, 8}, std::pair<int, int> z = std::minmax({1, 2, 3, 4, 5, 6, 7, 8},
compare_counter()); compare_counter());
// If N is the number of arguments in the minmax function call, // If N is the number of arguments in the minmax function call,
// 25.3.7 specifies that at most 3N/2 comparisons are allowed. // 25.3.7 specifies that at most 3N/2 comparisons are allowed.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment