1 // RUN: %clang_cc1 -fsyntax-only -verify -pedantic -fblocks %s 2 3 // PR2241 4 float test2241[2] = { 5 1e, // expected-error {{exponent}} 6 1ee0 // expected-error {{exponent}} 7 }; 8 9 10 // Testcase derived from PR2692 11 static void f (char * (*g) (char **, int), char **p, ...) { 12 char *s; 13 va_list v; // expected-error {{identifier}} 14 s = g (p, __builtin_va_arg(v, int)); // expected-error {{identifier}} 15 } 16 17 18 // PR3172 19 } // expected-error {{extraneous closing brace ('}')}} 20 21 22 // rdar://6094870 23 void test(int a) { 24 struct { int i; } x; 25 26 if (x.hello) // expected-error {{no member named 'hello'}} 27 test(0); 28 else 29 ; 30 31 if (x.hello == 0) // expected-error {{no member named 'hello'}} 32 test(0); 33 else 34 ; 35 36 if ((x.hello == 0)) // expected-error {{no member named 'hello'}} 37 test(0); 38 else 39 ; 40 41 // PR12595 42 if (x.i == 0)) // expected-error {{extraneous ')' after condition, expected a statement}} 43 test(0); 44 else 45 ; 46 } 47 48 49 50 char (((( /* expected-note {{to match this '('}} */ 51 *X x ] )))); /* expected-error {{expected ')'}} */ 52 53 ; // expected-warning {{extra ';' outside of a function}} 54 55 56 57 58 struct S { void *X, *Y; }; 59 60 struct S A = { 61 &BADIDENT, 0 /* expected-error {{use of undeclared identifier}} */ 62 }; 63 64 // rdar://6248081 65 void test6248081() { 66 [10] // expected-error {{expected expression}} 67 } 68 69 struct forward; // expected-note{{forward declaration of 'struct forward'}} 70 void x(struct forward* x) {switch(x->a) {}} // expected-error {{incomplete definition of type}} 71 72 // PR3410 73 void foo() { 74 int X; 75 X = 4 // expected-error{{expected ';' after expression}} 76 } 77 78 // rdar://9045701 79 void test9045701(int x) { 80 #define VALUE 0 81 x = VALUE // expected-error{{expected ';' after expression}} 82 } 83 84 // rdar://7980651 85 typedef int intptr_t; // expected-note {{'intptr_t' declared here}} 86 void bar(intptr y); // expected-error {{unknown type name 'intptr'; did you mean 'intptr_t'?}} 87 88 void test1(void) { 89 int x = 2: // expected-error {{expected ';' at end of declaration}} 90 int y = x; 91 int z = y; 92 } 93 94 void test2(int x) { 95 #define VALUE2 VALUE+VALUE 96 #define VALUE3 VALUE+0 97 #define VALUE4(x) x+0 98 x = VALUE2 // expected-error{{expected ';' after expression}} 99 x = VALUE3 // expected-error{{expected ';' after expression}} 100 x = VALUE4(0) // expected-error{{expected ';' after expression}} 101 } 102