aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2016-10-19 19:18:43 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2016-10-19 19:18:43 +0100
commit181f50b626580d7d5e2ee82e945024e8145f9761 (patch)
treeca880220b8bb01944aeaa90da01dcbf4b703701f
parentc6cc81d61313cf875924c5bfcda801e3c0dbfd6c (diff)
downloadgcc-181f50b626580d7d5e2ee82e945024e8145f9761.zip
gcc-181f50b626580d7d5e2ee82e945024e8145f9761.tar.gz
gcc-181f50b626580d7d5e2ee82e945024e8145f9761.tar.bz2
Fix incorrect comment about std::auto_ptr
* include/backward/auto_ptr.h (dauto_ptr): Correct comment about conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>. * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error directives that only match notes, not errors. From-SVN: r241349
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/backward/auto_ptr.h8
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc3
3 files changed, 11 insertions, 5 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 565b32c..0650630 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,10 @@
2016-10-19 Jonathan Wakely <jwakely@redhat.com>
+ * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
+ conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
+ * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
+ directives that only match notes, not errors.
+
* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
Add tests for valid and invalid conversions.
* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
diff --git a/libstdc++-v3/include/backward/auto_ptr.h b/libstdc++-v3/include/backward/auto_ptr.h
index bfd42d8..4dfc8cc 100644
--- a/libstdc++-v3/include/backward/auto_ptr.h
+++ b/libstdc++-v3/include/backward/auto_ptr.h
@@ -249,13 +249,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Automatic conversions
*
- * These operations convert an %auto_ptr into and from an auto_ptr_ref
- * automatically as needed. This allows constructs such as
+ * These operations are supposed to convert an %auto_ptr into and from
+ * an auto_ptr_ref automatically as needed. This would allow
+ * constructs such as
* @code
* auto_ptr<Derived> func_returning_auto_ptr(.....);
* ...
* auto_ptr<Base> ptr = func_returning_auto_ptr(.....);
* @endcode
+ *
+ * But it doesn't work, and won't be fixed. For further details see
+ * http://cplusplus.github.io/LWG/lwg-closed.html#463
*/
auto_ptr(auto_ptr_ref<element_type> __ref) throw()
: _M_ptr(__ref._M_ptr) { }
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
index 5e52ec4..22cc49e 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
@@ -47,6 +47,3 @@ main()
test01();
return 0;
}
-// { dg-error "::auto_ptr|no known conversion" "" { target *-*-* } 136 }
-// { dg-error "note" "" { target *-*-* } 154 }
-// { dg-error "::auto_ptr|no known conversion" "" { target *-*-* } 264 }