Devang Patel | b9b00ad | 2007-10-23 20:28:39 +0000 | [diff] [blame^] | 1 | // RUN: clang %s -emit-llvm |
2 | |||||
3 | struct { | ||||
4 | int x; | ||||
5 | int y; | ||||
6 | } point; | ||||
7 | |||||
8 | void fn1() { | ||||
9 | point.x = 42; | ||||
10 | } | ||||
11 | |||||
12 | /* Nested member */ | ||||
13 | struct { | ||||
14 | struct { | ||||
15 | int a; | ||||
16 | int b; | ||||
17 | } p1; | ||||
18 | } point2; | ||||
19 | |||||
20 | void fn2() { | ||||
21 | point2.p1.a = 42; | ||||
22 | } | ||||
23 | |||||
24 | /* Indirect reference */ | ||||
25 | typedef struct __sf { | ||||
26 | unsigned char *c; | ||||
27 | short flags; | ||||
28 | } F; | ||||
29 | |||||
30 | typedef struct __sf2 { | ||||
31 | F *ff; | ||||
32 | } F2; | ||||
33 | |||||
34 | int fn3(F2 *c) { | ||||
35 | if (c->ff->c >= 0) | ||||
36 | return 1; | ||||
37 | else | ||||
38 | return 0; | ||||
39 | } |