1 // RUN: %clang_cc1 -triple i386-unknown-unknown %s -emit-llvm -o -
24 /* Indirect reference */
30 typedef struct __sf2
{
46 void f1(void) { NA a
; }
56 void f2(void) { NB b
; }
72 extern range
f6(void);
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(void);
165 return f15_ext().location
;
169 extern rangepair
f16_ext(void);
170 return f16_ext().range1
;
174 extern range
f17_ext(void);
176 return (r
= f17_ext()).location
;
180 extern rangepair
f18_ext(void);
182 return (rp
= f18_ext()).range1
;
187 // Complex forward reference of struct.
190 struct f19S (*p
)(void);
192 struct f19S
{ int i
; };