bd52d17906
too large to list, but see: http://gcc.gnu.org/gcc-3.4/changes.html http://gcc.gnu.org/gcc-4.0/changes.html http://gcc.gnu.org/gcc-4.1/changes.html for the details.
25 lines
759 B
C
25 lines
759 B
C
/* Static declarations followed by extern are OK even if the extern
|
|
declaration is initialized. Bug 15360 from hozelda at
|
|
yahoo.com. */
|
|
/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
|
|
/* { dg-do compile } */
|
|
/* { dg-options "" } */
|
|
|
|
static int a;
|
|
static int a;
|
|
extern int a;
|
|
static int a;
|
|
|
|
static int b;
|
|
extern int b = 1; /* { dg-warning "initialized and declared" "extern init warning" } */
|
|
static int b;
|
|
static int b;
|
|
|
|
static int c; /* { dg-error "previous declaration" "" } */
|
|
int c; /* { dg-error "non-static" "correct error" } */
|
|
|
|
static int d; /* { dg-error "previous declaration" "" } */
|
|
int d = 1; /* { dg-error "non-static" "correct error" } */
|
|
|
|
void foo (void) { extern int e = 1; } /* { dg-error "has both" "extern init in function" } */
|