extern int foo[]; // OK
int foo[]={1,2,3};
extern int foo[]; // OK

void bar(){
  extern int foo[]; // g++: ERROR -- SHOULD BE OK
}

g++ 3.4.0, 3.4.3, 4.0.0 (cygwin), g++ 3.4.2 (mingw):
xxx.cpp: In function 'void bar()':
xxx.cpp:6: error: type mismatch with previous external decl of 'int foo []'
xxx.cpp:2: error: previous external decl of 'int foo [3]'

g++ 3.3.1, 3.3.2 (cygwin) issue a slightly different error message

This may be related to PRs 21342 and 21502.

Vladimir Marko

-- 
           Summary: extern array: compatible declaration at function scope
                    refused
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: SWElef at post dot sk
                CC: gcc-bugs at gcc dot gnu dot org


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

Reply via email to