re PR libstdc++/39546 (parallel mode doesn't support implicit string conversion)
2009-05-06 Johannes Singler <singler@ira.uka.de> PR libstdc++/39546 * include/parallel/algo.h (find_switch): Parametrize binder2nd with const T& instead of T. * testsuite/25_algorithms/find/39546.cc: new test case From-SVN: r147169
This commit is contained in:
parent
b92625409b
commit
c8ecfecfd4
3 changed files with 52 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
|||
2009-05-06 Johannes Singler <singler@ira.uka.de>
|
||||
|
||||
PR libstdc++/39546
|
||||
* include/parallel/algo.h (find_switch):
|
||||
Parametrize binder2nd with const T& instead of T.
|
||||
* testsuite/25_algorithms/find/39546.cc: new test case
|
||||
|
||||
2009-05-06 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
Revert:
|
||||
|
|
|
@ -149,8 +149,8 @@ namespace __parallel
|
|||
|
||||
if (_GLIBCXX_PARALLEL_CONDITION(true))
|
||||
{
|
||||
binder2nd<__gnu_parallel::equal_to<value_type, T> >
|
||||
comp(__gnu_parallel::equal_to<value_type, T>(), val);
|
||||
binder2nd<__gnu_parallel::equal_to<value_type, const T&> >
|
||||
comp(__gnu_parallel::equal_to<value_type, const T&>(), val);
|
||||
return __gnu_parallel::find_template(begin, end, begin, comp,
|
||||
__gnu_parallel::
|
||||
find_if_selector()).first;
|
||||
|
|
43
libstdc++-v3/testsuite/25_algorithms/find/39546.cc
Normal file
43
libstdc++-v3/testsuite/25_algorithms/find/39546.cc
Normal file
|
@ -0,0 +1,43 @@
|
|||
// Copyright (C) 2009 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 3, 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 COPYING3. If not see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
// 25.3.1 algorithms, find()
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <algorithm>
|
||||
#include <testsuite_hooks.h>
|
||||
|
||||
// libstdc++/39546
|
||||
void
|
||||
test01()
|
||||
{
|
||||
bool test __attribute__((unused)) = true;
|
||||
|
||||
std::vector<std::string> dict;
|
||||
dict.push_back("one");
|
||||
dict.push_back("two");
|
||||
dict.push_back("three");
|
||||
|
||||
VERIFY( std::find(dict.begin(), dict.end(), "two") == dict.begin() + 1 );
|
||||
}
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
test01();
|
||||
}
|
Loading…
Add table
Reference in a new issue