These functions just increment a refcount (and the base class functions that do that are already noexcept anyway).
* include/std/future (shared_future): Add noexcept to copy constructor and copy-assignment operator (LWG 2799). Tested pwoerpc64le-linux, committed to trunk.
commit 9b66ab2fb36324e2d9cb8e99207d08d531c5cec3 Author: Jonathan Wakely <jwak...@redhat.com> Date: Thu Nov 16 14:24:02 2017 +0000 Add noexcept to std::shared_future copy operations (LWG DR 2799) * include/std/future (shared_future): Add noexcept to copy constructor and copy-assignment operator (LWG 2799). diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index 73d5a60a918..d9d446bc2f6 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -896,7 +896,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr shared_future() noexcept : _Base_type() { } /// Copy constructor - shared_future(const shared_future& __sf) : _Base_type(__sf) { } + shared_future(const shared_future& __sf) noexcept : _Base_type(__sf) { } /// Construct from a future rvalue shared_future(future<_Res>&& __uf) noexcept @@ -908,7 +908,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION : _Base_type(std::move(__sf)) { } - shared_future& operator=(const shared_future& __sf) + shared_future& operator=(const shared_future& __sf) noexcept { shared_future(__sf)._M_swap(*this); return *this;