aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2010-06-29 10:03:36 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2010-06-29 10:03:36 +0000
commit6ff7e9643524b5cad27a5c180028908db73f1fd6 (patch)
treecae347e765458312a2323b5eb707e738771c1648
parent5dfebe0a555fccfc682699b6e6a0fa8e4d5f4a2f (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--libstdc++-v3/include/ext/algorithm4
-rw-r--r--libstdc++-v3/testsuite/ext/rope/44708.cc31
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;
+}