|  | // RUN: %clang_cc1 %s -verify -fsyntax-only | 
|  | typedef char T[4]; | 
|  |  | 
|  | T foo(int n, int m) {  }  // expected-error {{cannot return array type}} | 
|  |  | 
|  | void foof(const char *, ...) __attribute__((__format__(__printf__, 1, 2))), barf (void); | 
|  |  | 
|  | int typedef validTypeDecl() { } // expected-error {{function definition declared 'typedef'}} | 
|  |  | 
|  | struct _zend_module_entry { }    // expected-error {{expected ';' after struct}} | 
|  | int gv1; | 
|  | typedef struct _zend_function_entry { } // expected-error {{expected ';' after struct}} \ | 
|  | // expected-warning {{typedef requires a name}} | 
|  | int gv2; | 
|  |  | 
|  | static void buggy(int *x) { } | 
|  |  | 
|  | // Type qualifiers. | 
|  | typedef int f(void); | 
|  | typedef f* fptr; | 
|  | const f* v1;         // expected-warning {{qualifier on function type 'f' (aka 'int (void)') has unspecified behavior}} | 
|  | __restrict__ f* v2;  // expected-error {{restrict requires a pointer or reference ('f' (aka 'int (void)') is invalid)}} | 
|  | __restrict__ fptr v3; // expected-error {{pointer to function type 'f' (aka 'int (void)') may not be 'restrict' qualified}} | 
|  | f *__restrict__ v4;   // expected-error {{pointer to function type 'f' (aka 'int (void)') may not be 'restrict' qualified}} | 
|  |  | 
|  | restrict struct hallo; // expected-error {{restrict requires a pointer or reference}} | 
|  |  | 
|  | // PR6180 | 
|  | struct test1 { | 
|  | } // expected-error {{expected ';' after struct}} | 
|  |  | 
|  | void test2() {} | 
|  |  | 
|  |  | 
|  | // PR6423 | 
|  | struct test3s { | 
|  | } // expected-error {{expected ';' after struct}} | 
|  | typedef int test3g; | 
|  |  | 
|  | // PR8264 | 
|  | const const int pr8264_1 = 0;  // expected-warning {{duplicate 'const' declaration specifier}} | 
|  | volatile volatile int pr8264_2;  // expected-warning {{duplicate 'volatile' declaration specifier}} | 
|  | char * restrict restrict pr8264_3;  // expected-warning {{duplicate 'restrict' declaration specifier}} | 
|  |  | 
|  | extern extern int pr8264_4;  // expected-warning {{duplicate 'extern' declaration specifier}} | 
|  | void pr8264_5() { | 
|  | register register int x;  // expected-warning {{duplicate 'register' declaration specifier}} | 
|  | } | 
|  |  | 
|  | inline inline void pr8264_6() {}  // expected-warning {{duplicate 'inline' declaration specifier}} | 
|  | _Noreturn _Noreturn void pr8264_7();  // expected-warning {{duplicate '_Noreturn' declaration specifier}} |