This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR c/53066 Wshadow should not warn for shadowing an extern function


On Wed, Apr 25, 2012 at 5:36 AM, Manuel López-Ibáñez
<lopezibanez@gmail.com> wrote:
> On 25 April 2012 00:01, Joseph S. Myers <joseph@codesourcery.com> wrote:
>> 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).
>
> Right. How does one check that a decl is a nested function?

 is DECL_CONTEXT (decl_function_context (t)) a FUNCTION_DECL?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]