Hi, I've noticed that the documentation of -Wshadow=x has some missing bits, and I want to add an negative example to -Wshadow=compatble-local.
Bootstrapped and reg-tested on x86_64-pc-linux-gnu. Is it OK for trunk? Thanks Bernd.
2019-10-03 Bernd Edlinger <bernd.edlin...@hotmail.de> * doc/invoke.texi (-Wshadow=global, -Wshadow=local, -Wshadow=compatible-local): Fix description. Add an example where -Wshadow=compatible-local does not warn. Index: gcc/doc/invoke.texi =================================================================== --- gcc/doc/invoke.texi (revision 276484) +++ gcc/doc/invoke.texi (working copy) @@ -6477,13 +6477,14 @@ Do not warn whenever a local variable shadows an i Objective-C method. @item -Wshadow=global -@opindex Wshadow=local +@opindex Wshadow=global The default for @option{-Wshadow}. Warns for any (global) shadowing. +This warning is enabled by @option{-Wshadow=global}. @item -Wshadow=local @opindex Wshadow=local Warn when a local variable shadows another local variable or parameter. -This warning is enabled by @option{-Wshadow=global}. +This warning is enabled by @option{-Wshadow=local}. @item -Wshadow=compatible-local @opindex Wshadow=compatible-local @@ -6515,8 +6516,10 @@ in place of the other, type checking will catch th warning. So not warning (about shadowing) in this case will not lead to undetected bugs. Use of this flag instead of @option{-Wshadow=local} can possibly reduce the number of warnings triggered by intentional shadowing. +Note that this does also mean that shadowing @code{const char *i} by +@code{char *i} will not emit a warning. -This warning is enabled by @option{-Wshadow=local}. +This warning is enabled by @option{-Wshadow=compatible-local}. @item -Wlarger-than=@var{byte-size} @opindex Wlarger-than=