1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -emit-llvm %s  -o /dev/null
2*f4a2713aSLionel Sambuc 
3*f4a2713aSLionel Sambuc 
4*f4a2713aSLionel Sambuc typedef struct {
5*f4a2713aSLionel Sambuc   char p;
6*f4a2713aSLionel Sambuc   short q;
7*f4a2713aSLionel Sambuc   char r;
8*f4a2713aSLionel Sambuc   int X;
9*f4a2713aSLionel Sambuc   short Y, Z;
10*f4a2713aSLionel Sambuc   int Q;
11*f4a2713aSLionel Sambuc } foo;
12*f4a2713aSLionel Sambuc 
13*f4a2713aSLionel Sambuc int test(foo X, float);
14*f4a2713aSLionel Sambuc int testE(char,short,char,int,int,float);
test3(foo * X)15*f4a2713aSLionel Sambuc void test3(foo *X) {
16*f4a2713aSLionel Sambuc   X->q = 1;
17*f4a2713aSLionel Sambuc }
18*f4a2713aSLionel Sambuc 
test2(foo Y)19*f4a2713aSLionel Sambuc void test2(foo Y) {
20*f4a2713aSLionel Sambuc   testE(Y.p, Y.q, Y.r, Y.X, Y.Y, 0.1f);
21*f4a2713aSLionel Sambuc   test(Y, 0.1f);
22*f4a2713aSLionel Sambuc   test2(Y);
23*f4a2713aSLionel Sambuc   test3(&Y);
24*f4a2713aSLionel Sambuc }
25*f4a2713aSLionel Sambuc 
26