struct.c revision b9b00ad6260b17c18195ff4a54c8b3abbf33fcc9
1// 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}
40