Home | History | Annotate | Download | only in Parser
      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