aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2010-02-19 10:42:47 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2010-02-19 10:42:47 +0000
commit415ed6120471fdb77abbbf74faf3bb40b3c47780 (patch)
tree10f9d81b024e904da5d870774d132dde43b24465 /libstdc++-v3
parent604d0dbc8b8318a44e49f90d97293fa9e806666a (diff)
downloadgcc-415ed6120471fdb77abbbf74faf3bb40b3c47780.zip
gcc-415ed6120471fdb77abbbf74faf3bb40b3c47780.tar.gz
gcc-415ed6120471fdb77abbbf74faf3bb40b3c47780.tar.bz2
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
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/include/bits/shared_ptr.h10
-rw-r--r--libstdc++-v3/include/bits/shared_ptr_base.h13
-rw-r--r--libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc11
4 files changed, 12 insertions, 29 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 4ac1d58..e75016c 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+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>
* scripts/run_doxygen: Add shortnames option.
diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h
index 3e909f5..b204699 100644
--- a/libstdc++-v3/include/bits/shared_ptr.h
+++ b/libstdc++-v3/include/bits/shared_ptr.h
@@ -367,16 +367,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return this->expired() ? shared_ptr<_Tp>() : shared_ptr<_Tp>(*this);
#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.
diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h
index 51bd51d..9d36faf 100644
--- a/libstdc++-v3/include/bits/shared_ptr_base.h
+++ b/libstdc++-v3/include/bits/shared_ptr_base.h
@@ -1022,19 +1022,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_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:
// Used by __enable_shared_from_this.
void
diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
index f73f5c7..5cbd55c 100644
--- a/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x " }
// { 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
// software; you can redistribute it and/or modify it under the
@@ -21,7 +21,6 @@
// 20.6.6.3 Template class weak_ptr [util.smartptr.weak]
#include <memory>
-#include <testsuite_hooks.h>
struct A { };
@@ -30,10 +29,10 @@ struct A { };
int
test01()
{
- std::weak_ptr<A> p1;
- // { dg-excess-errors "deleted function" }
- p1 < p1; // { dg-error "used here" }
- return 0;
+ std::weak_ptr<A> p1;
+ // { dg-excess-errors "candidates are" }
+ p1 < p1; // { dg-error "no match" }
+ return 0;
}
int