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
This commit is contained in:
Marc Glisse 2019-04-27 16:09:20 +02:00 committed by Marc Glisse
parent f8b906a2de
commit 2b326d53c2
2 changed files with 8 additions and 1 deletions

View File

@ -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.

View File

@ -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(