diff options
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_vector.h | 13 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/vector.tcc | 8 |
3 files changed, 19 insertions, 9 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index dd27078..7a1deca 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,12 @@ 2019-01-24 Jonathan Wakely <jwakely@redhat.com> + PR libstdc++/88840 + * include/bits/stl_vector.h (vector::__use_relocate): Replace static + data member with static member function _S_use_relocate(). + * include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert) + (vector::_M_default_append): Use _S_use_relocate() instead of + __use_relocate. + * testsuite/27_io/filesystem/path/compare/strings.cc: Only compare sign of results. diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h index 54de0e0..43debda 100644 --- a/libstdc++-v3/include/bits/stl_vector.h +++ b/libstdc++-v3/include/bits/stl_vector.h @@ -424,11 +424,14 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER private: #if __cplusplus >= 201103L - static constexpr bool __use_relocate = - noexcept(std::__relocate_a(std::declval<pointer>(), - std::declval<pointer>(), - std::declval<pointer>(), - std::declval<_Tp_alloc_type&>())); + static constexpr bool + _S_use_relocate() + { + return noexcept(std::__relocate_a(std::declval<pointer>(), + std::declval<pointer>(), + std::declval<pointer>(), + std::declval<_Tp_alloc_type&>())); + } #endif protected: diff --git a/libstdc++-v3/include/bits/vector.tcc b/libstdc++-v3/include/bits/vector.tcc index edd0b6a..4cf0e80 100644 --- a/libstdc++-v3/include/bits/vector.tcc +++ b/libstdc++-v3/include/bits/vector.tcc @@ -73,7 +73,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER const size_type __old_size = size(); pointer __tmp; #if __cplusplus >= 201103L - if constexpr (__use_relocate) + if constexpr (_S_use_relocate()) { __tmp = this->_M_allocate(__n); std::__relocate_a(this->_M_impl._M_start, @@ -457,7 +457,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER __new_finish = pointer(); #if __cplusplus >= 201103L - if constexpr (__use_relocate) + if constexpr (_S_use_relocate()) { __new_finish = std::__relocate_a @@ -498,7 +498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER __throw_exception_again; } #if __cplusplus >= 201103L - if constexpr (!__use_relocate) + if constexpr (!_S_use_relocate()) #endif std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator()); _GLIBCXX_ASAN_ANNOTATE_REINIT; @@ -639,7 +639,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER _M_check_len(__n, "vector::_M_default_append"); pointer __new_start(this->_M_allocate(__len)); #if __cplusplus >= 201103L - if constexpr (__use_relocate) + if constexpr (_S_use_relocate()) { __try { |