blob: 5065b9446a10e3925b38e734c0743c707f74f973 [file] [log] [blame]
Chris Lattnerfdb548e2008-12-12 19:20:14 +00001// RUN: clang -fsyntax-only -verify -pedantic -fblocks %s
Eli Friedman09762782008-08-20 22:07:34 +00002
Chris Lattner18914bc2008-12-12 06:19:11 +00003// PR2241
4float test2241[] = {
5 1e, // expected-error {{exponent}}
6 1ee0 // expected-error {{exponent}}
7};
8
9
Eli Friedman09762782008-08-20 22:07:34 +000010// Testcase derived from PR2692
11static char *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}} expected-warning {{extension}}
15}
16
Chris Lattner90b93d62008-12-08 21:59:01 +000017
18// PR3172
19} // expected-error {{expected external declaration}}
20
21
Chris Lattner18914bc2008-12-12 06:19:11 +000022// rdar://6094870
Chris Lattner777f07b2008-12-17 07:32:46 +000023int test(int a) {
Chris Lattner18914bc2008-12-12 06:19:11 +000024 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
Chris Lattner0ba0dd62008-12-12 06:21:18 +000047
48
49char (((( /* 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
57struct S { void *X, *Y; };
58
59struct S A = {
60&BADIDENT, 0 /* expected-error {{use of undeclared identifier}} */
61};
Chris Lattnerfdb548e2008-12-12 19:20:14 +000062
63// rdar://6248081
64int test6248081() {
65 [10] // expected-error {{expected expression}}
66}
67
Douglas Gregor4ec339f2009-01-19 19:26:10 +000068struct forward; // expected-note{{forward declaration of 'struct forward'}}
Eli Friedman5f764942008-12-17 22:22:03 +000069void x(struct forward* x) {switch(x->a) {}} // expected-error {{incomplete definition of type}}
Eli Friedman2342ef72008-12-17 22:19:57 +000070
Douglas Gregor4b2d3f72009-02-26 21:00:50 +000071// PR3410
72void foo() {
73 int X;
74 X = 4 // expected-error{{expected ';' after expression}}
75}