| 1 | // RUN: %clang_cc1 %s -fsyntax-only -verify |
| 2 | |
| 3 | // See Sema::ParsedFreeStandingDeclSpec about the double diagnostic |
| 4 | typedef union <anonymous> __mbstate_t; // expected-error {{declaration of anonymous union must be a definition}} expected-warning {{typedef requires a name}} |
| 5 | |
| 6 | |
| 7 | // PR2017 |
| 8 | void x(); |
| 9 | int a() { |
| 10 | int r[x()]; // expected-error {{size of array has non-integer type 'void'}} |
| 11 | |
| 12 | static y ?; // expected-error{{unknown type name 'y'}} \ |
| 13 | expected-error{{expected identifier or '('}} |
| 14 | } |
| 15 | |
| 16 | int; // expected-warning {{declaration does not declare anything}} |
| 17 | typedef int; // expected-warning {{typedef requires a name}} |
| 18 | const int; // expected-warning {{declaration does not declare anything}} |
| 19 | struct; // expected-error {{declaration of anonymous struct must be a definition}} // expected-warning {{declaration does not declare anything}} |
| 20 | typedef int I; |
| 21 | I; // expected-warning {{declaration does not declare anything}} |
| 22 | |
| 23 | |
| 24 | |
| 25 | // rdar://6880449 |
| 26 | register int test1; // expected-error {{illegal storage class on file-scoped variable}} |
| 27 | |
| 28 | |