diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2019-04-27 16:09:20 +0200 |
---|---|---|
committer | Marc Glisse <glisse@gcc.gnu.org> | 2019-04-27 14:09:20 +0000 |
commit | 2b326d53c29b96a77199666d75430a7d1994bea7 (patch) | |
tree | 4a9dd8d15d83306b0afa652e45f9382e06caa6ca | |
parent | f8b906a2de3044f1dea753b182c244a1a560d40e (diff) | |
download | gcc-2b326d53c29b96a77199666d75430a7d1994bea7.zip gcc-2b326d53c29b96a77199666d75430a7d1994bea7.tar.gz gcc-2b326d53c29b96a77199666d75430a7d1994bea7.tar.bz2 |
Use __restrict for __relocate_object_a
2019-04-27 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/87106
* include/bits/stl_uninitialized.h (__relocate_object_a): Mark the
arguments with __restrict.
From-SVN: r270624
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_uninitialized.h | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 53065a9..606244f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2019-04-27 Marc Glisse <marc.glisse@inria.fr> + + PR libstdc++/87106 + * include/bits/stl_uninitialized.h (__relocate_object_a): Mark the + arguments with __restrict. + 2019-04-26 H.J. Lu <hongjiu.lu@intel.com> * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. diff --git a/libstdc++-v3/include/bits/stl_uninitialized.h b/libstdc++-v3/include/bits/stl_uninitialized.h index 0d42b25..b3d44f3 100644 --- a/libstdc++-v3/include/bits/stl_uninitialized.h +++ b/libstdc++-v3/include/bits/stl_uninitialized.h @@ -884,7 +884,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #if __cplusplus >= 201103L template<typename _Tp, typename _Up, typename _Allocator> inline void - __relocate_object_a(_Tp* __dest, _Up* __orig, _Allocator& __alloc) + __relocate_object_a(_Tp* __restrict __dest, _Up* __restrict __orig, + _Allocator& __alloc) noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc, __dest, std::move(*__orig))) && noexcept(std::allocator_traits<_Allocator>::destroy( |