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.

Reply via email to