diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2016-07-21 20:39:03 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2016-07-21 20:39:03 +0100 |
commit | 8b649cd3ba1c5799f682455aaa77587374be1524 (patch) | |
tree | 97002a670d10a97e8ca8184d3e7deb0af38fd1ad /libstdc++-v3 | |
parent | 509b778f6cb7c99159ecdf3e4caa28468b2f46e5 (diff) | |
download | gcc-8b649cd3ba1c5799f682455aaa77587374be1524.zip gcc-8b649cd3ba1c5799f682455aaa77587374be1524.tar.gz gcc-8b649cd3ba1c5799f682455aaa77587374be1524.tar.bz2 |
Fix naming, qualification and broken test for propagate_const
* include/experimental/propagate_const (propagate_const::__t): Rename
to _M_t and remove comment. Qualify std::move and std::forward.
* testsuite/experimental/propagate_const/cons/default.cc: Fix test.
From-SVN: r238611
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/experimental/propagate_const | 26 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/experimental/propagate_const/cons/default.cc | 5 |
3 files changed, 20 insertions, 15 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 9a0a71b..ce7490d 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,9 @@ 2016-07-21 Jonathan Wakely <jwakely@redhat.com> + * include/experimental/propagate_const (propagate_const::__t): Rename + to _M_t and remove comment. Qualify std::move and std::forward. + * testsuite/experimental/propagate_const/cons/default.cc: Fix test. + * testsuite/23_containers/vector/zero_sized_allocations.cc: Define sized deallocation function. * testsuite/util/testsuite_new_operators.h: diff --git a/libstdc++-v3/include/experimental/propagate_const b/libstdc++-v3/include/experimental/propagate_const index ea052ca..75cd8c0a 100644 --- a/libstdc++-v3/include/experimental/propagate_const +++ b/libstdc++-v3/include/experimental/propagate_const @@ -116,14 +116,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION is_convertible<_Up&&, _Tp>>::value, bool >::type=true> constexpr propagate_const(propagate_const<_Up>&& __pu) - : __t(move(get_underlying(__pu))) + : _M_t(std::move(get_underlying(__pu))) {} template <typename _Up, typename enable_if<__and_<is_constructible<_Tp, _Up&&>, __not_<is_convertible<_Up&&, _Tp>>>::value, bool>::type=false> constexpr explicit propagate_const(propagate_const<_Up>&& __pu) - : __t(move(get_underlying(__pu))) + : _M_t(std::move(get_underlying(__pu))) {} template <typename _Up, typename enable_if<__and_<is_constructible<_Tp, _Up&&>, @@ -132,7 +132,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typename decay<_Up>::type>> >::value, bool>::type=true> constexpr propagate_const(_Up&& __u) - : __t(forward<_Up>(__u)) + : _M_t(std::forward<_Up>(__u)) {} template <typename _Up, typename enable_if<__and_<is_constructible<_Tp, _Up&&>, @@ -141,7 +141,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typename decay<_Up>::type>> >::value, bool>::type=false> constexpr explicit propagate_const(_Up&& __u) - : __t(forward<_Up>(__u)) + : _M_t(std::forward<_Up>(__u)) {} // [propagate_const.assignment], assignment @@ -152,7 +152,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typename enable_if<is_convertible<_Up&&, _Tp>::value>::type> constexpr propagate_const& operator=(propagate_const<_Up>&& __pu) { - __t = move(get_underlying(__pu)); + _M_t = std::move(get_underlying(__pu)); } template <typename _Up, typename = @@ -162,13 +162,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION >::value>::type> constexpr propagate_const& operator=(_Up&& __u) { - __t = forward<_Up>(__u); + _M_t = std::forward<_Up>(__u); } // [propagate_const.const_observers], const observers explicit constexpr operator bool() const { - return bool(__t); + return bool(_M_t); } constexpr const element_type* operator->() const @@ -193,7 +193,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr const element_type* get() const { - return __to_raw_pointer(__t); + return __to_raw_pointer(_M_t); } // [propagate_const.non_const_observers], non-const observers @@ -219,7 +219,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr element_type* get() { - return __to_raw_pointer(__t); + return __to_raw_pointer(_M_t); } // [propagate_const.modifiers], modifiers @@ -227,11 +227,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION swap(propagate_const& __pt) noexcept(__is_nothrow_swappable<_Tp>::value) { using std::swap; - swap(__t, get_underlying(__pt)); + swap(_M_t, get_underlying(__pt)); } private: - _Tp __t; //exposition only + _Tp _M_t; }; // [propagate_const.relational], relational operators @@ -408,14 +408,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr const _Tp& get_underlying(const propagate_const<_Tp>& __pt) noexcept { - return __pt.__t; + return __pt._M_t; } template <typename _Tp> constexpr _Tp& get_underlying(propagate_const<_Tp>& __pt) noexcept { - return __pt.__t; + return __pt._M_t; } // @} group propagate_const diff --git a/libstdc++-v3/testsuite/experimental/propagate_const/cons/default.cc b/libstdc++-v3/testsuite/experimental/propagate_const/cons/default.cc index 6a9a8c6..ed597fb 100644 --- a/libstdc++-v3/testsuite/experimental/propagate_const/cons/default.cc +++ b/libstdc++-v3/testsuite/experimental/propagate_const/cons/default.cc @@ -27,6 +27,7 @@ int main() { constexpr propagate_const<int*> test1{}; static_assert(!test1.get(), ""); - propagate_const<int*> test2; - VERIFY(!test2.get()); + propagate_const<int*> test2; // wrapped pointer is not initialized + propagate_const<int*> test3{}; + VERIFY(!test3.get()); } |