1 // RUN: %clang_cc1 -triple i386-unknown-unknown %s -emit-llvm -o -
24 /* Indirect reference */
30 typedef struct __sf2 {
77 /* Member expressions */
110 /* Implicit casts (due to typedefs) */
123 /* Implicit casts (due to const) */
131 /* struct initialization */
132 struct a13 {int b; int c;};
133 struct a13 c13 = {5};
134 typedef struct a13 a13;
135 struct a14 { short a; int b; } x = {1, 1};
137 /* flexible array members */
138 struct a15 {char a; int b[];} c15;
139 int a16(void) {c15.a = 1;}
141 /* compound literals */
143 a13 x; x = (a13){1,2};
147 int f14(int i, ...) {
149 __builtin_va_start(l,i);
150 a13 b = __builtin_va_arg(l, a13);
151 int c = __builtin_va_arg(l, a13).c;
155 /* Attribute packed */
156 struct __attribute__((packed)) S2839 { double a[19]; signed char b; } s2839[5];
158 struct __attribute__((packed)) SS { long double a; char b; } SS;
164 extern range f15_ext();
165 return f15_ext().location;
169 extern rangepair f16_ext();
170 return f16_ext().range1;
174 extern range f17_ext();
176 return (r = f17_ext()).location;
180 extern rangepair f18_ext();
182 return (rp = f18_ext()).range1;
187 // Complex forward reference of struct.
190 struct f19S (*p)(void);
192 struct f19S { int i; };