https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107363
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Marek Polacek <mpola...@gcc.gnu.org>: https://gcc.gnu.org/g:b305793b985f4d3e0032b04d446b8baabcb3e8b7 commit r13-3822-gb305793b985f4d3e0032b04d446b8baabcb3e8b7 Author: Marek Polacek <pola...@redhat.com> Date: Fri Oct 28 13:39:40 2022 -0400 c++: Tweaks for -Wredundant-move [PR107363] Two things here: 1) when we're pointing out that std::move on a constant object is redundant, don't say "in return statement" when we aren't in a return statement; 2) suppress the warning when the std::move call was dependent, because removing the std::move may not be correct for a different instantiation of the original template. PR c++/107363 gcc/cp/ChangeLog: * semantics.cc (finish_call_expr): Suppress OPT_Wpessimizing_move. * typeck.cc (maybe_warn_pessimizing_move): Check warn_redundant_move and warning_suppressed_p. Adjust a message depending on return_p. (check_return_expr): Don't suppress OPT_Wpessimizing_move here. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/Wredundant-move13.C: New test.