2016-11-23  Felix Morgner  <felix.morg...@gmail.com>
            Jonathan Wakely  <jwak...@redhat.com>

        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 <jwak...@redhat.com>
Date:   Wed Nov 23 14:28:26 2016 +0000

    PR78494 add missing returns to propagate_const
    
    2016-11-23  Felix Morgner  <felix.morg...@gmail.com>
            Jonathan Wakely  <jwak...@redhat.com>
    
        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;

Reply via email to