// RUN: %clang_cc1 -fsyntax-only -verify %s
int outer1; // expected-note{{previous definition is here}}
extern int outer2; // expected-note{{previous declaration is here}}
int outer4;
int outer4; // expected-note{{previous definition is here}}
int outer5;
int ; // expected-note{{previous definition is here}}
int ;
void
int outer3; // expected-error{{redefinition of 'outer3' with a different type}}
float outer4; // expected-error{{redefinition of 'outer4' with a different type}}
float outer5; // expected-error{{redefinition of 'outer5' with a different type}}
int ; // expected-error{{redefinition of 'outer8' as different kind of symbol}}
float outer9; // expected-error{{redefinition of 'outer9' with a different type}}
extern int outer13; // expected-note{{previous declaration is here}}
void
void
int *p=&g19; // expected-error{{use of undeclared identifier 'g19'}} \
// expected-warning{{incompatible pointer types}}
// PR3645
static int a;
extern int a; // expected-note {{previous declaration is here}}
int a; // expected-error {{non-static declaration of 'a' follows static declaration}}
void
extern int b;
void // expected-note{{previous declaration is here}}
void // expected-error{{redeclaration of 'b' with a different type: 'int[4]' vs 'int[3]'}}