Consider the following one-liner:

int func(int foo, int (*fn)(int foo));

Current g++ complains about shadowing, which seems incorrect to me:
~/tmp>g++ -c -W -Wall -Wshadow bug.cc
bug.cc:1: warning: declaration of 'int foo' shadows a parameter
bug.cc:1: warning: shadowed declaration is here

Curiously, no warning is generated by g++ 4.3.
gcc 4.4 and 4.3 don't produce the warning either.


-- 
           Summary: [4.4 regression] Incorrect warning with -Wshadow
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: martin at mpa-garching dot mpg dot de
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38022

Reply via email to