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 {{expected external declaration}} 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 if (x.i == 0)) // expected-error {{expected expression}} 42 test(0); 43 else 44 ; 45 } 46 47 48 49 char (((( /* expected-note {{to match this '('}} */ 50 *X x ] )))); /* expected-error {{expected ')'}} */ 51 52 ; // expected-warning {{ISO C does not allow an extra ';' outside of a function}} 53 54 55 56 57 struct S { void *X, *Y; }; 58 59 struct S A = { 60 &BADIDENT, 0 /* expected-error {{use of undeclared identifier}} */ 61 }; 62 63 // rdar://6248081 64 void test6248081() { 65 [10] // expected-error {{expected expression}} 66 } 67 68 struct forward; // expected-note{{forward declaration of 'struct forward'}} 69 void x(struct forward* x) {switch(x->a) {}} // expected-error {{incomplete definition of type}} 70 71 // PR3410 72 void foo() { 73 int X; 74 X = 4 // expected-error{{expected ';' after expression}} 75 } 76 77 // rdar://9045701 78 void test9045701(int x) { 79 #define VALUE 0 80 x = VALUE // expected-error{{expected ';' after expression}} 81 } 82 83 // rdar://7980651 84 typedef int intptr_t; // expected-note {{'intptr_t' declared here}} 85 void bar(intptr y); // expected-error {{unknown type name 'intptr'; did you mean 'intptr_t'?}} 86 87 void test1(void) { 88 int x = 2: // expected-error {{expected ';' at end of declaration}} 89 int y = x; 90 int z = y; 91 } 92 93 void test2(int x) { 94 #define VALUE2 VALUE+VALUE 95 #define VALUE3 VALUE+0 96 #define VALUE4(x) x+0 97 x = VALUE2 // expected-error{{expected ';' after expression}} 98 x = VALUE3 // expected-error{{expected ';' after expression}} 99 x = VALUE4(0) // expected-error{{expected ';' after expression}} 100 } 101