2016-11-23 Felix Morgner <[email protected]>
Jonathan Wakely <[email protected]>
PR libstdc++/78494
* include/experimental/propagate_const (propagate_const::operator=):
Add missing return statements.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Adjust dg-error line numbers.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
Tested powerpvc64le-linux, committed to trunk.
Will commit to gcc-6-branch too once testing finishes.
commit 601c37689f6d59e335f528bed5def2078236f2c8
Author: Jonathan Wakely <[email protected]>
Date: Wed Nov 23 14:28:26 2016 +0000
PR78494 add missing returns to propagate_const
2016-11-23 Felix Morgner <[email protected]>
Jonathan Wakely <[email protected]>
PR libstdc++/78494
* include/experimental/propagate_const (propagate_const::operator=):
Add missing return statements.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Adjust dg-error line numbers.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
diff --git a/libstdc++-v3/include/experimental/propagate_const
b/libstdc++-v3/include/experimental/propagate_const
index 5f32111..635d4ed 100644
--- a/libstdc++-v3/include/experimental/propagate_const
+++ b/libstdc++-v3/include/experimental/propagate_const
@@ -156,6 +156,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
constexpr propagate_const& operator=(propagate_const<_Up>&& __pu)
{
_M_t = std::move(get_underlying(__pu));
+ return *this;
}
template <typename _Up, typename =
@@ -166,6 +167,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
constexpr propagate_const& operator=(_Up&& __u)
{
_M_t = std::forward<_Up>(__u);
+ return *this;
}
// [propagate_const.const_observers], const observers
diff --git
a/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc
b/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc
index 0dc72a2..1423220 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/assignment/move_neg.cc
@@ -25,7 +25,7 @@
using std::experimental::propagate_const;
using std::unique_ptr;
-// { dg-error "no type" "" { target *-*-* } 161 }
+// { dg-error "no type" "" { target *-*-* } 162 }
int main()
{
diff --git
a/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc
b/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc
index 199be37..d713911 100644
--- a/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc
+++ b/libstdc++-v3/testsuite/experimental/propagate_const/requirements2.cc
@@ -23,7 +23,7 @@ using std::experimental::propagate_const;
// { dg-error "requires a class or a pointer to an object type" "" { target
*-*-* } 107 }
// { dg-error "not a pointer-to-object type" "" { target *-*-* } 68 }
-// { dg-error "forming pointer to reference type" "" { target *-*-* } 187 }
-// { dg-error "forming pointer to reference type" "" { target *-*-* } 213 }
+// { dg-error "forming pointer to reference type" "" { target *-*-* } 189 }
+// { dg-error "forming pointer to reference type" "" { target *-*-* } 215 }
propagate_const<void*> test1;