blob: 6cd95da878d2e44ac119af4f37ecc4d0bd3c5852 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only -verify -pedantic -fblocks %s
Eli Friedman09762782008-08-20 22:07:34 +00002
Chris Lattner18914bc2008-12-12 06:19:11 +00003// PR2241
Daniel Dunbardbb4f212009-04-15 21:35:27 +00004float test2241[2] = {
Chris Lattner18914bc2008-12-12 06:19:11 +00005 1e, // expected-error {{exponent}}
6 1ee0 // expected-error {{exponent}}
7};
8
9
Eli Friedman09762782008-08-20 22:07:34 +000010// Testcase derived from PR2692
Mike Stumpd1969d82009-07-22 00:43:08 +000011static 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}}
Eli Friedman09762782008-08-20 22:07:34 +000015}
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
Mike Stumpd1969d82009-07-22 00:43:08 +000023void 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
Mike Stumpd1969d82009-07-22 00:43:08 +000064void test6248081() {
Chris Lattnerfdb548e2008-12-12 19:20:14 +000065 [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}
Chris Lattner9a65b812010-05-14 17:44:56 +000076
77
78// rdar://7980651
79typedef int intptr_t; // expected-note {{'intptr_t' declared here}}
80void bar(intptr y); // expected-error {{unknown type name 'intptr'; did you mean 'intptr_t'?}}