blob: cc6f0aaeeb16859666a3f5e9e2f1d085006a3d2f [file] [log] [blame]
Devang Patel41b66252007-10-23 20:28:39 +00001// RUN: clang %s -emit-llvm
2
3struct {
4 int x;
5 int y;
6} point;
7
8void fn1() {
9 point.x = 42;
10}
11
12/* Nested member */
13struct {
14 struct {
15 int a;
16 int b;
17 } p1;
18} point2;
19
20void fn2() {
21 point2.p1.a = 42;
22}
23
24/* Indirect reference */
25typedef struct __sf {
26 unsigned char *c;
27 short flags;
28} F;
29
30typedef struct __sf2 {
31 F *ff;
32} F2;
33
34int fn3(F2 *c) {
35 if (c->ff->c >= 0)
36 return 1;
37 else
38 return 0;
39}
Devang Patel317c7162007-10-23 23:26:46 +000040
41/* Nested structs */
42typedef struct NA {
43 int data;
44 struct NA *next;
45} NA;
46void f1() { A a; }
47
48typedef struct NB {
49 int d1;
50 struct _B2 {
51 int d2;
52 struct NB *n2;
53 } B2;
54} NB;
55
56void f2() { NB b; }
57