/* RUN: %clang_cc1 %s -std=c89 -pedantic -fsyntax-only -verify -Wimplicit-function-declaration -Wno-strict-prototypes
*/
void
long long test2; /* expected-warning {{extension}} */
void
int test4 = 0LL; /* expected-warning {{long long}} */
/* PR1999 */
void ;
/* PR2041 */
int *restrict;
int *__restrict; /* expected-error {{expected identifier}} */
/* Implicit int, always ok */
/* PR2012 */
test7;
void ;
typedef int sometype;
int /* expected-warning {{omitting the parameter name in a function definition is a C2x extension}}*/
void ;
void void z;
typedef void T;
void ; /* typedef for void is allowed */
void
/* PR2759 */
void ; /* expected-warning {{variable length arrays are a C99 feature}} */
void ; /* expected-warning {{static array size is a C99 feature}} */
void
/* PR4074 */
;
void
/* Make sure we allow *test14 as a "function designator" */
int
int test15 = ; /* expected-warning {{designated initializers are a C99 feature}} */
extern int ;
/* Warn, but don't suggest typo correction. */
void
; /* expected-warning {{flexible array members are a C99 feature}} */
/* Duplicated type-qualifiers aren't allowed by C90 */
const const int c_i; /* expected-warning {{duplicate 'const' declaration specifier}} */
typedef volatile int vol_int;
volatile vol_int volvol_i; /* expected-warning {{duplicate 'volatile' declaration specifier}} */
typedef volatile vol_int volvol_int; /* expected-warning {{duplicate 'volatile' declaration specifier}} */
const int * const c;
typedef const int CI;
const CI mine1; /* expected-warning {{duplicate 'const' declaration specifier}} */
typedef CI array_of_CI;
const array_of_CI mine2; /* expected-warning {{duplicate 'const' declaration specifier}} */
typedef CI *array_of_pointer_to_CI;
const array_of_pointer_to_CI mine3;
void /* expected-error {{'main' must return 'int'}} */
const int /* expected-error {{'main' must return 'int'}} */
long long ll1 = /* expected-warning {{'long long' is an extension when C99 mode is not enabled}} */
-42LL; /* expected-warning {{'long long' is an extension when C99 mode is not enabled}} */
unsigned long long ull1 = /* expected-warning {{'long long' is an extension when C99 mode is not enabled}} */
42ULL; /* expected-warning {{'long long' is an extension when C99 mode is not enabled}} */
;
struct Test17 ;
void