[Bug c/18799] New: error: static declaration of 'x' follows non-static declaration
markus at oberhumer dot com
gcc-bugzilla@gcc.gnu.org
Thu Dec 2 21:21:00 GMT 2004
This code used to give a warning on gcc 3.2 and gcc 3.3, gcc 3.4 does not warn
at all, and current mainline 4.0 makes this an error.
What do the C89 and C99 standards actually say here ?
+ cat x.c
extern int x[];
static int x[2];
int *foo(void) { return x; }
+ gcc-3.2 -std=c89 -Wall -W -pedantic -c x.c
x.c:2: warning: static declaration for `x' follows non-static
+ gcc-3.3 -std=c89 -Wall -W -pedantic -c x.c
x.c:2: warning: static declaration for `x' follows non-static
+ gcc-3.4 -std=c89 -Wall -W -pedantic -c x.c
+ gcc-4.0 -std=c89 -Wall -W -pedantic -c x.c
x.c:2: error: static declaration of 'x' follows non-static declaration
x.c:1: error: previous declaration of 'x' was here
+ gcc-3.2 -std=c99 -Wall -W -pedantic -c x.c
x.c:2: warning: static declaration for `x' follows non-static
+ gcc-3.3 -std=c99 -Wall -W -pedantic -c x.c
x.c:2: warning: static declaration for `x' follows non-static
+ gcc-3.4 -std=c99 -Wall -W -pedantic -c x.c
+ gcc-4.0 -std=c99 -Wall -W -pedantic -c x.c
x.c:2: error: static declaration of 'x' follows non-static declaration
x.c:1: error: previous declaration of 'x' was here
--
Summary: error: static declaration of 'x' follows non-static
declaration
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: markus at oberhumer dot com
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18799
More information about the Gcc-bugs
mailing list