1// RUN: %clang_cc1 -emit-llvm %s  -o /dev/null
2
3int test(int X) {
4  return X;
5}
6
7void abc(int *X);
8int def(int Y, int Z) {
9  abc(&Z);
10  return Y;
11}
12
13struct Test { short X, x; int Y, Z; };
14
15int Testing(struct Test *A) {
16  return A->X+A->Y;
17}
18
19int Test2(int X, struct Test A, int Y) {
20  return X+Y+A.X+A.Y;
21}
22int Test3(struct Test A, struct Test B) {
23  return A.X+A.Y+B.Y+B.Z;
24}
25
26struct Test Test4(struct Test A) {
27  return A;
28}
29
30int Test6() {
31  int B[200];
32  return B[4];
33}
34
35struct STest2 { int X; short Y[4]; double Z; };
36
37struct STest2 Test7(struct STest2 X) {
38  return X;
39}
40