2008-01-25 Douglas Gregor <doug.gregor@gmail.com>
[official-gcc.git] / gcc / testsuite / gcc.dg / sibcall-8.c
blob767040fd04b4f32fabe77ac40acf5dbf118f476f
1 /* { dg-do run } */
2 /* { dg-options "-O2 -foptimize-sibling-calls" } */
4 typedef struct {
5 int data[4];
6 } arr16_t;
8 int result = 0;
10 void func2(int i, int j, arr16_t arr)
12 result = (arr.data[0] != 1
13 || arr.data[1] != 2
14 || arr.data[2] != 3
15 || arr.data[3] != 4);
18 void func1(int i, int j, int k, arr16_t a)
20 func2(i, j, a);
23 int main(int argc, const char *argv[])
25 arr16_t arr = {{1, 2, 3, 4}};
27 func1(0, 0, 0, arr);
28 return result;