From 041fb56800c84bd3695aef8f4273c68b4248f107 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Sun, 5 Feb 2017 22:48:07 +0000 Subject: [PATCH] [libcxx] [test] Fix Clang -Wpessimizing-move "moving a temporary object prevents copy elision". N4618 30.6.6 [futures.unique_future]/12 declares "shared_future share() noexcept;". Fixes D29139. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294158 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../futures/futures.unique_future/share.pass.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/std/thread/futures/futures.unique_future/share.pass.cpp b/test/std/thread/futures/futures.unique_future/share.pass.cpp index 2e4c332f2..9b8667e53 100644 --- a/test/std/thread/futures/futures.unique_future/share.pass.cpp +++ b/test/std/thread/futures/futures.unique_future/share.pass.cpp @@ -26,7 +26,7 @@ int main() std::promise p; std::future f0 = p.get_future(); static_assert( noexcept(f0.share()), ""); - std::shared_future f = std::move(f0.share()); + std::shared_future f = f0.share(); assert(!f0.valid()); assert(f.valid()); } @@ -34,7 +34,7 @@ int main() typedef int T; std::future f0; static_assert( noexcept(f0.share()), ""); - std::shared_future f = std::move(f0.share()); + std::shared_future f = f0.share(); assert(!f0.valid()); assert(!f.valid()); } @@ -43,7 +43,7 @@ int main() std::promise p; std::future f0 = p.get_future(); static_assert( noexcept(f0.share()), ""); - std::shared_future f = std::move(f0.share()); + std::shared_future f = f0.share(); assert(!f0.valid()); assert(f.valid()); } @@ -51,7 +51,7 @@ int main() typedef int& T; std::future f0; static_assert( noexcept(f0.share()), ""); - std::shared_future f = std::move(f0.share()); + std::shared_future f = f0.share(); assert(!f0.valid()); assert(!f.valid()); } @@ -60,7 +60,7 @@ int main() std::promise p; std::future f0 = p.get_future(); static_assert( noexcept(f0.share()), ""); - std::shared_future f = std::move(f0.share()); + std::shared_future f = f0.share(); assert(!f0.valid()); assert(f.valid()); } @@ -68,7 +68,7 @@ int main() typedef void T; std::future f0; static_assert( noexcept(f0.share()), ""); - std::shared_future f = std::move(f0.share()); + std::shared_future f = f0.share(); assert(!f0.valid()); assert(!f.valid()); }