[webkit-dev] -Wpessimizing-move and -Wredundant-move
Michael Catanzaro
mcatanzaro at igalia.com
Mon Mar 18 16:56:15 PDT 2019
On Mon, Mar 18, 2019 at 4:43 PM, Andy Estes <aestes at apple.com> wrote:
> FWIW, Apple’s ports use the equivalent clang warning for
> pessimizing and redundant moves, and we cleaned up a bunch of these
> mistakes in our ports a few years ago. Hopefully you aren’t finding
> any of these mistakes in shared code.
There are a lot, actually. Maybe clang only has -Wpessimizing-move
(which caused relatively few warnings) and not -Wredundant-move (which
caused very many). I'm not actually sure what the difference is; in
both cases, a local variable is cast to rvalue reference via std::move
before it is returned.
Anyway: patch in https://bugs.webkit.org/show_bug.cgi?id=195920, review
appreciated. That patch also fixes several -Wdeprecated-copy warnings
and a couple -Wclass-memaccess, but the vast majority is just removing
WTFMove().
> (WTFMove was written to accommodate these warnings, in fact.)
>
> Really glad you’re turning these warnings on!
Note we actually haven't changed our warning flags, they're just new
warnings enabled by -Wextra, and we've always used -Wextra. So let's
thank the GCC developers. Each new GCC is a ruined day for me whenever
I try to make WebKit build cleanly, but the warnings are worth it.
Michael
More information about the webkit-dev
mailing list