| /* { dg-do run } */ |
| /* { dg-options "-Os -fno-inline-functions" } */ |
| |
| void abort (void); |
| |
| typedef struct { |
| int x[7]; |
| } agg7; |
| |
| typedef struct { |
| int mbr1; |
| int mbr2; |
| } agg2; |
| |
| int expected = 31415; |
| agg7 filler; |
| |
| int GetConst (agg7 filler, agg2 split) |
| { |
| return expected; |
| } |
| |
| void VerifyValues (agg7 filler, int last_reg, int first_stack, int second_stack) |
| { |
| if (first_stack != 123 || second_stack != expected) |
| abort (); |
| } |
| |
| void RunTest (agg2 a) |
| { |
| int result; |
| |
| result = GetConst (filler, a); |
| VerifyValues (filler, 0, a.mbr1, result); |
| } |
| |
| int main(void) |
| { |
| agg2 result = {123, 456}; |
| RunTest (result); |
| return 0; |
| } |
| |