https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86981
--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Author: mpolacek Date: Tue Aug 21 15:38:36 2018 New Revision: 263741 URL: https://gcc.gnu.org/viewcvs?rev=263741&root=gcc&view=rev Log: PR c++/86981, Implement -Wpessimizing-move. * c.opt (Wpessimizing-move): New option. * typeck.c (decl_in_std_namespace_p): New. (is_std_move_p): New. (maybe_warn_pessimizing_move): New. (can_do_nrvo_p): New, factored out of ... (check_return_expr): ... here. Warn about potentially harmful std::move in a return statement. * doc/invoke.texi: Document -Wpessimizing-move. * g++.dg/cpp0x/Wpessimizing-move1.C: New test. * g++.dg/cpp0x/Wpessimizing-move2.C: New test. * g++.dg/cpp0x/Wpessimizing-move3.C: New test. * g++.dg/cpp0x/Wpessimizing-move4.C: New test. * g++.dg/cpp1z/Wpessimizing-move1.C: New test. Added: trunk/gcc/testsuite/g++.dg/cpp0x/Wpessimizing-move1.C trunk/gcc/testsuite/g++.dg/cpp0x/Wpessimizing-move2.C trunk/gcc/testsuite/g++.dg/cpp0x/Wpessimizing-move3.C trunk/gcc/testsuite/g++.dg/cpp0x/Wpessimizing-move4.C trunk/gcc/testsuite/g++.dg/cpp1z/Wpessimizing-move1.C Modified: trunk/gcc/ChangeLog trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c.opt trunk/gcc/cp/ChangeLog trunk/gcc/cp/typeck.c trunk/gcc/doc/invoke.texi trunk/gcc/testsuite/ChangeLog