Argiris Kirtzidis | 74b477c | 2008-10-05 00:06:24 +0000 | [diff] [blame] | 1 | // RUN: clang -fsyntax-only -verify %s |
| 2 | |
| 3 | void f() { |
| 4 | int a; |
| 5 | struct S { int m; }; |
| 6 | typedef S *T; |
| 7 | |
| 8 | // Expressions. |
| 9 | T(a)->m = 7; |
| 10 | int(a)++; // expected-error {{invalid lvalue in increment/decrement expression}} |
| 11 | __extension__ int(a)++; // expected-error {{invalid lvalue in increment/decrement expression}} |
| 12 | typeof(int)(a,5)<<a; // expected-error {{function-style cast to a builtin type can only take one argument}} |
| 13 | void(a), ++a; // expected-warning {{statement was disambiguated as expression}} expected-warning {{expression result unused}} |
Argiris Kirtzidis | 88527fb | 2008-10-05 15:03:47 +0000 | [diff] [blame] | 14 | if (int(a)+1) {} |
Argiris Kirtzidis | 58f362d | 2008-10-05 15:50:46 +0000 | [diff] [blame] | 15 | for (int(a)+1;;) {} |
Argiris Kirtzidis | 3276cbc | 2008-10-05 19:56:22 +0000 | [diff] [blame^] | 16 | a = sizeof(int()+1); |
| 17 | typeof(int()+1) a2; |
Argiris Kirtzidis | 74b477c | 2008-10-05 00:06:24 +0000 | [diff] [blame] | 18 | |
| 19 | // Declarations. |
| 20 | T(*d)(int(p)); // expected-warning {{statement was disambiguated as declaration}} expected-error {{previous definition is here}} |
| 21 | T(d)[5]; // expected-warning {{statement was disambiguated as declaration}} expected-error {{redefinition of 'd'}} |
| 22 | typeof(int[])(f) = { 1, 2 }; // expected-warning {{statement was disambiguated as declaration}} |
| 23 | void(b)(int); |
Argiris Kirtzidis | 085d146 | 2008-10-05 14:27:18 +0000 | [diff] [blame] | 24 | int(d2) __attribute__(()); // expected-warning {{statement was disambiguated as declaration}} |
Argiris Kirtzidis | eb21924 | 2008-10-05 15:19:49 +0000 | [diff] [blame] | 25 | if (int(a)=1) {} |
Argiris Kirtzidis | 9add68c | 2008-10-05 18:52:21 +0000 | [diff] [blame] | 26 | int(d3(int())); // expected-warning {{statement was disambiguated as declaration}} |
Argiris Kirtzidis | 74b477c | 2008-10-05 00:06:24 +0000 | [diff] [blame] | 27 | } |