/* { dg-do run } */ | |
/* { dg-options "-O2 -foptimize-sibling-calls" } */ | |
typedef struct { | |
int data[4]; | |
} arr16_t; | |
int result = 0; | |
void func2(int i, int j, arr16_t arr) | |
{ | |
result = (arr.data[0] != 1 | |
|| arr.data[1] != 2 | |
|| arr.data[2] != 3 | |
|| arr.data[3] != 4); | |
} | |
void func1(int i, int j, int k, arr16_t a) | |
{ | |
func2(i, j, a); | |
} | |
int main(int argc, const char *argv[]) | |
{ | |
arr16_t arr = {{1, 2, 3, 4}}; | |
func1(0, 0, 0, arr); | |
return result; | |
} | |