Skip to content
Snippets Groups Projects
Commit b305793b authored by Marek Polacek's avatar Marek Polacek
Browse files

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.
parent 916bec9a
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment