[webkit-dev] -Wreturn-type and -Wredundant-move reminders

Myles Maxfield mmaxfield at apple.com
Fri Oct 29 15:06:17 PDT 2021



> On Oct 19, 2021, at 1:15 PM, Michael Catanzaro via webkit-dev <webkit-dev at lists.webkit.org> wrote:
> 
> Hi devs,
> 
> A reminder about this common idiom:
> 
> switch (...) {
> case Foo:
>   return ...;
> case Bar:
>   return ...;
> }
> RELEASE_ASSERT_NOT_REACHED();
> 
> When it's intended that the code always returns inside the switch statement, the RELEASE_ASSERT_NOT_REACHED() is required to avoid tripping GCC's -Wreturn-type. If you forget it, I or somebody else will wind up adding it later to avoid the warning. Clang does not warn here, and this is the most common type of warning I clean up, so please don't forget! :) This warning is useful in other situations, and it seems nicer to placate GCC than to disable it.
> 
> I'll sneak in another reminder: "return WTFMove()" is almost always not needed. Clang warns only if the move prevents return value optimization, but GCC will always warn if it detects the move is unneeded.

Will GTK/WPE EWS catch these errors?

> 
> Have a nice day,
> 
> Michael
> 
> 
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev



More information about the webkit-dev mailing list