re PR libstdc++/49925 ([C++0x] ADL bug mixing boost::shared_ptr and std::make_shared<>)
authorPaolo Carlini <paolo.carlini@oracle.com>
Sun, 31 Jul 2011 20:28:45 +0000 (20:28 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Sun, 31 Jul 2011 20:28:45 +0000 (20:28 +0000)
2011-07-31  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/49925
* include/bits/shared_ptr.h (make_shared): Qualify allocate_shared
with std::.
* include/bits/shared_ptr_base.h (__make_shared): Likewise.

From-SVN: r176985

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/shared_ptr.h
libstdc++-v3/include/bits/shared_ptr_base.h

index 42e271f..c8ac5d1 100644 (file)
@@ -1,3 +1,10 @@
+2011-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR libstdc++/49925
+       * include/bits/shared_ptr.h (make_shared): Qualify allocate_shared
+       with std::.
+       * include/bits/shared_ptr_base.h (__make_shared): Likewise.
+
 2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>
 
        * doc/xml/manual/build_hacking.xml: Markup imagedata changes.
index 2c45f3d..42acace 100644 (file)
@@ -607,8 +607,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     make_shared(_Args&&... __args)
     {
       typedef typename std::remove_const<_Tp>::type _Tp_nc;
-      return allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
-                                 std::forward<_Args>(__args)...);
+      return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
+                                      std::forward<_Args>(__args)...);
     }
 
   /// std::hash specialization for shared_ptr.
index 0a84b3c..a06f5b9 100644 (file)
@@ -1432,14 +1432,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     __make_shared(_Args&&... __args)
     {
       typedef typename std::remove_const<_Tp>::type _Tp_nc;
-      return __allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(),
-                                        std::forward<_Args>(__args)...);
+      return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(),
+                                             std::forward<_Args>(__args)...);
     }
 
   /// std::hash specialization for __shared_ptr.
   template<typename _Tp, _Lock_policy _Lp>
     struct hash<__shared_ptr<_Tp, _Lp>>
-    : public std::unary_function<__shared_ptr<_Tp, _Lp>, size_t>
+    : public __hash_base<size_t, __shared_ptr<_Tp, _Lp>>
     {
       size_t
       operator()(const __shared_ptr<_Tp, _Lp>& __s) const