unused-expr.c revision 5f016e2cb5d11daeb237544de1c5d59f20fe1a6e
1// RUN: clang -parse-ast-check %s
2
3int foo(int X, int Y);
4
5void bar(volatile int *VP, int *P, int A,
6         _Complex double C, volatile _Complex double VC) {
7
8  VP == P;             // expected-warning {{expression result unused}}
9  (void)A;             // expected-warning {{expression result unused}}
10  (void)foo(1,2);      // no warning.
11
12  A == foo(1, 2);      // expected-warning {{expression result unused}}
13
14  foo(1,2)+foo(4,3);   // expected-warning {{expression result unused}}
15
16
17  *P;                  // expected-warning {{expression result unused}}
18  *VP;                 // no warning.
19  P[4];                // expected-warning {{expression result unused}}
20  VP[4];               // no warning.
21
22  // FIXME: SEMA explodes on these.
23  //__real__ C;
24  //__real__ VC;
25}
26
27