On Sun, 22 Apr 2012, Manuel L?pez-Ib??ez wrote: > Wshadow warns whenever any declaration shadows a global function > declaration. This is almost always noise, since most (always?) of the > time one cannot mistakenly replace a function by another variable. The > false positives are too common (Linus mentions using the name 'index' > when including string.h).
I think the correct rule would be: warn if a variable *with pointer-to-function type* shadows a function, and warn if a nested function shadows another function, but don't warn for variables shadowing functions if the variable has any other type (because if the variable has some type that isn't a pointer-to-function, no confusion is likely without another error being given). -- Joseph S. Myers jos...@codesourcery.com