aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Glisse <marc.glisse@inria.fr>2019-04-27 16:09:20 +0200
committerMarc Glisse <glisse@gcc.gnu.org>2019-04-27 14:09:20 +0000
commit2b326d53c29b96a77199666d75430a7d1994bea7 (patch)
tree4a9dd8d15d83306b0afa652e45f9382e06caa6ca
parentf8b906a2de3044f1dea753b182c244a1a560d40e (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--libstdc++-v3/include/bits/stl_uninitialized.h3
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(