1// RUN: %clang_cc1 -fsyntax-only -verify -pedantic -fblocks %s 2 3// PR2241 4float test2241[2] = { 5 1e, // expected-error {{exponent}} 6 1ee0 // expected-error {{exponent}} 7}; 8 9 10// Testcase derived from PR2692 11static 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 23void 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 50char (((( /* expected-note {{to match this '('}} */ 51 *X x ] )))); /* expected-error {{expected ')'}} */ 52 53; // expected-warning {{extra ';' outside of a function}} 54 55 56 57 58struct S { void *X, *Y; }; 59 60struct S A = { 61&BADIDENT, 0 /* expected-error {{use of undeclared identifier}} */ 62}; 63 64// rdar://6248081 65void test6248081() { 66 [10] // expected-error {{expected expression}} 67} 68 69struct forward; // expected-note{{forward declaration of 'struct forward'}} 70void x(struct forward* x) {switch(x->a) {}} // expected-error {{incomplete definition of type}} 71 72// PR3410 73void foo() { 74 int X; 75 X = 4 // expected-error{{expected ';' after expression}} 76} 77 78// rdar://9045701 79void test9045701(int x) { 80#define VALUE 0 81 x = VALUE // expected-error{{expected ';' after expression}} 82} 83 84// rdar://7980651 85typedef int intptr_t; // expected-note {{'intptr_t' declared here}} 86void bar(intptr y); // expected-error {{unknown type name 'intptr'; did you mean 'intptr_t'?}} 87 88void test1(void) { 89 int x = 2: // expected-error {{expected ';' at end of declaration}} 90 int y = x; 91 int z = y; 92} 93 94void 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