// RUN: %clang_cc1 -fsyntax-only -verify %s
const int AA = 5;
int
int
;
int ; // expected-warning {{will not be visible outside of this function}}
; // expected-note {{previous definition is here}}
int ; // expected-warning {{declaration of 'struct A' will not be visible outside of this function}} expected-warning {{redefinition of 'b' will not be visible outside of this function}}
;
int ; // expected-warning {{declaration of 'struct aA' will not be visible}} expected-warning {{redefinition of 'ab' will not be visible}} expected-warning {{redefinition of 'ab' will not be visible}}
void
void ; // expected-warning{{declaration of 'enum e19018' will not be visible outside of this function}}
enum e19018 qq; //expected-error{{tentative definition has type 'enum e19018' that is never completed}} \
//expected-note{{forward declaration of 'enum e19018'}}
// Only warn once, even if we create two declarations.
void ; // expected-warning {{will not be visible outside}}
// This enum inside the function pointer parameter shouldn't leak into the
// function.
;
void
void
int
// expected-note@+1 {{forward declaration}}
struct S o; // expected-error {{'struct S' that is never completed}}
// expected-note@+1 {{forward declaration}}
enum E8 x = a + b; // expected-error 2 {{undeclared identifier}} expected-error {{incomplete type 'enum E8'}}
int
int
int ;
void