Commit 415ed612 by Paolo Carlini Committed by Paolo Carlini

shared_ptr_base.h (__weak_ptr): Remove deleted comparison operators, per DR 1256.

2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr_base.h (__weak_ptr): Remove deleted
	comparison operators, per DR 1256.
	* include/bits/shared_ptr.h (weak_ptr): Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.

From-SVN: r156891
parent 604d0dbc
2010-02-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/shared_ptr_base.h (__weak_ptr): Remove deleted
comparison operators, per DR 1256.
* include/bits/shared_ptr.h (weak_ptr): Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.
2010-02-18 Benjamin Kosnik <bkoz@redhat.com> 2010-02-18 Benjamin Kosnik <bkoz@redhat.com>
* scripts/run_doxygen: Add shortnames option. * scripts/run_doxygen: Add shortnames option.
......
...@@ -367,16 +367,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -367,16 +367,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return this->expired() ? shared_ptr<_Tp>() : shared_ptr<_Tp>(*this); return this->expired() ? shared_ptr<_Tp>() : shared_ptr<_Tp>(*this);
#endif #endif
} }
// Comparisons
template<typename _Tp1>
bool operator<(const weak_ptr<_Tp1>&) const = delete;
template<typename _Tp1>
bool operator<=(const weak_ptr<_Tp1>&) const = delete;
template<typename _Tp1>
bool operator>(const weak_ptr<_Tp1>&) const = delete;
template<typename _Tp1>
bool operator>=(const weak_ptr<_Tp1>&) const = delete;
}; };
// 20.8.13.3.7 weak_ptr specialized algorithms. // 20.8.13.3.7 weak_ptr specialized algorithms.
......
...@@ -1022,19 +1022,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -1022,19 +1022,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_refcount._M_swap(__s._M_refcount); _M_refcount._M_swap(__s._M_refcount);
} }
// Comparisons
template<typename _Tp1>
bool operator<(const __weak_ptr<_Tp1, _Lp>&) const = delete;
template<typename _Tp1>
bool operator<=(const __weak_ptr<_Tp1, _Lp>&) const = delete;
template<typename _Tp1>
bool operator>(const __weak_ptr<_Tp1, _Lp>&) const = delete;
template<typename _Tp1>
bool operator>=(const __weak_ptr<_Tp1, _Lp>&) const = delete;
private: private:
// Used by __enable_shared_from_this. // Used by __enable_shared_from_this.
void void
......
// { dg-options "-std=gnu++0x " } // { dg-options "-std=gnu++0x " }
// { dg-do compile } // { dg-do compile }
// Copyright (C) 2008, 2009 Free Software Foundation // Copyright (C) 2008, 2009, 2010 Free Software Foundation
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
// 20.6.6.3 Template class weak_ptr [util.smartptr.weak] // 20.6.6.3 Template class weak_ptr [util.smartptr.weak]
#include <memory> #include <memory>
#include <testsuite_hooks.h>
struct A { }; struct A { };
...@@ -31,8 +30,8 @@ int ...@@ -31,8 +30,8 @@ int
test01() test01()
{ {
std::weak_ptr<A> p1; std::weak_ptr<A> p1;
// { dg-excess-errors "deleted function" } // { dg-excess-errors "candidates are" }
p1 < p1; // { dg-error "used here" } p1 < p1; // { dg-error "no match" }
return 0; return 0;
} }
......
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