blob: 323df3496424110413931def53a4fc19bdeedb61 [file] [log] [blame]
Reid Spencer5f016e22007-07-11 17:01:13 +00001// 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
Chris Lattner2b8bac52007-08-21 01:19:46 +00008 VP == P; // expected-warning {{expression result unused}} \
9 expected-warning {{comparison}}
Chris Lattner6e844ad2007-08-26 17:32:59 +000010 (void)A;
Reid Spencer5f016e22007-07-11 17:01:13 +000011 (void)foo(1,2); // no warning.
12
13 A == foo(1, 2); // expected-warning {{expression result unused}}
14
15 foo(1,2)+foo(4,3); // expected-warning {{expression result unused}}
16
17
18 *P; // expected-warning {{expression result unused}}
19 *VP; // no warning.
20 P[4]; // expected-warning {{expression result unused}}
21 VP[4]; // no warning.
22
23 // FIXME: SEMA explodes on these.
24 //__real__ C;
25 //__real__ VC;
26}
27
Chris Lattner6e844ad2007-08-26 17:32:59 +000028extern void t1();
29extern void t2();
30void t3(int c) {
31 c ? t1() : t2();
32}
33