blob: 15fdabfe32fa0df663cfed6908560bcc05c31213 [file] [log] [blame]
Eli Friedmana143a9d2012-10-12 22:45:14 +00001// RUN: %clang_cc1 -ast-print %s | FileCheck %s
2
3// CHECK: r;
4// CHECK-NEXT: (r->method());
5struct MyClass
6{
7 void method() {}
8};
9
10struct Reference
11{
12 MyClass* object;
13 MyClass* operator ->() { return object; }
14};
15
16int main()
17{
18 Reference r;
19 (r->method());
20}
21
Eli Friedman915c07d2012-10-16 23:45:15 +000022// CHECK: if (int a = 1)
23// CHECK: while (int a = 1)
24// CHECK: switch (int a = 1)
25
26void f()
27{
28 if (int a = 1) { }
29 while (int a = 1) { }
30 switch (int a = 1) { }
31}
32
Eli Friedmand03ef042012-10-18 20:54:37 +000033// CHECK: new (1) int;
34void *operator new (typeof(sizeof(1)), int, int = 2);
35void f2() {
36 new (1) int;
37}
38
39// CHECK: new X;
40struct X {
41 void *operator new (typeof(sizeof(1)), int = 2);
42};
43void f2() { new X; }
Eli Friedmaneafa9d42012-10-18 20:58:58 +000044
45// CHECK: for (int i = 2097, j = 42; false;)
46void forInit() {
47 for (int i = 2097, j = 42; false;) {}
48}