| // RUN: %llvmgcc -S %s -o - | llvm-as -o /dev/null |
| |
| int test(int X) { |
| return X; |
| } |
| |
| void abc(int *X); |
| int def(int Y, int Z) { |
| abc(&Z); |
| return Y; |
| } |
| |
| struct Test { short X, x; int Y, Z; }; |
| |
| int Testing(struct Test *A) { |
| return A->X+A->Y; |
| } |
| |
| int Test2(int X, struct Test A, int Y) { |
| return X+Y+A.X+A.Y; |
| } |
| int Test3(struct Test A, struct Test B) { |
| return A.X+A.Y+B.Y+B.Z; |
| } |
| |
| struct Test Test4(struct Test A) { |
| return A; |
| } |
| |
| int Test6() { |
| int B[200]; |
| return B[4]; |
| } |
| |
| struct STest2 { int X; short Y[4]; double Z; }; |
| |
| struct STest2 Test7(struct STest2 X) { |
| return X; |
| } |