diff options
author | Marek Polacek <polacek@redhat.com> | 2022-10-28 13:39:40 -0400 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2022-11-08 21:34:55 -0500 |
commit | b305793b985f4d3e0032b04d446b8baabcb3e8b7 (patch) | |
tree | 79711c34a349bd96e8a20274d774894bfbcd3d81 /gcc/range-op.h | |
parent | 916bec9a05ea522c81381e0c93590d46965d9c7b (diff) | |
download | gcc-b305793b985f4d3e0032b04d446b8baabcb3e8b7.zip gcc-b305793b985f4d3e0032b04d446b8baabcb3e8b7.tar.gz gcc-b305793b985f4d3e0032b04d446b8baabcb3e8b7.tar.bz2 |
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.
Diffstat (limited to 'gcc/range-op.h')
0 files changed, 0 insertions, 0 deletions