[cfe-dev] -Wshadow rationale for data members
Axel Naumann
Axel.Naumann at cern.ch
Fri Oct 22 07:51:32 PDT 2010
Hi,
Douglas Gregor wrote on 10/21/2010 05:17 PM:
>
> On Oct 21, 2010, at 2:43 AM, Axel Naumann wrote:
>
>> struct A {
>> static void* f; void* g;
>> struct B { static void* f; void* g; };
>> };
>>
>> compiled with
>> clang++ -c -Wall -Wshadow -O2 t.cxx
>> generates the warning
>>
>> t.cxx:3:28: warning: declaration shadows a static data member of 'A'
>> [-Wshadow]
>> struct B { static void* f; void* g; };
>> ^
>> t.cxx:2:17: note: previous declaration is here
>> static void* f; void* g;
>> ^
>
> It doesn't seem at all useful for Clang to warn about static data members shadowing something else by the same name. Personally, I'd limit -Wshadow to only complain when a local declaration shadows something from the outer scope.
That's now bug #8436.
Cheers, Axel.
More information about the cfe-dev
mailing list