diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2010-06-29 10:03:36 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2010-06-29 10:03:36 +0000 |
commit | 6ff7e9643524b5cad27a5c180028908db73f1fd6 (patch) | |
tree | cae347e765458312a2323b5eb707e738771c1648 | |
parent | 5dfebe0a555fccfc682699b6e6a0fa8e4d5f4a2f (diff) | |
download | gcc-6ff7e9643524b5cad27a5c180028908db73f1fd6.zip gcc-6ff7e9643524b5cad27a5c180028908db73f1fd6.tar.gz gcc-6ff7e9643524b5cad27a5c180028908db73f1fd6.tar.bz2 |
re PR libstdc++/44708 (Enabling -std=c++0x results in ambiguous function overload in <ext/algorithm> header)
2010-06-29 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/44708
* include/ext/algorithm (copy_n): Qualify __copy_n call with
__gnu_cxx::
* testsuite/ext/rope/44708.cc: New.
From-SVN: r161524
-rw-r--r-- | libstdc++-v3/ChangeLog | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/algorithm | 4 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/ext/rope/44708.cc | 31 |
3 files changed, 40 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 394d560..0feb6fd 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2010-06-29 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/44708 + * include/ext/algorithm (copy_n): Qualify __copy_n call with + __gnu_cxx:: + * testsuite/ext/rope/44708.cc: New. + 2010-06-27 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/regex_compiler.h: Trivial formatting / stylistic fixes. diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm index 5956e24..cac4ff7 100644 --- a/libstdc++-v3/include/ext/algorithm +++ b/libstdc++-v3/include/ext/algorithm @@ -123,8 +123,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator, typename iterator_traits<_InputIterator>::value_type>) - return __copy_n(__first, __count, __result, - std::__iterator_category(__first)); + return __gnu_cxx::__copy_n(__first, __count, __result, + std::__iterator_category(__first)); } template<typename _InputIterator1, typename _InputIterator2> diff --git a/libstdc++-v3/testsuite/ext/rope/44708.cc b/libstdc++-v3/testsuite/ext/rope/44708.cc new file mode 100644 index 0000000..ac2fa95 --- /dev/null +++ b/libstdc++-v3/testsuite/ext/rope/44708.cc @@ -0,0 +1,31 @@ +// { dg-options "-std=gnu++0x" } +// { dg-do compile } + +// Copyright (C) 2010 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/>. + +#include <iostream> +#include <ext/rope> + +using namespace std; + +// libstdc++/44708 +void test01() +{ + __gnu_cxx::crope line("test-test-test"); + cout << line.c_str() << endl; +} |