| /* On IRIX 6, PB is passed partially in registers and partially on the | |
| stack, with an odd number of words in the register part. Check that | |
| the long double stack argument (PC) is still accessed properly. */ | |
| struct s { int val[16]; }; | |
| long double f (int pa, struct s pb, long double pc) | |
| { | |
| int i; | |
| for (i = 0; i < 16; i++) | |
| pc += pb.val[i]; | |
| return pc; | |
| } | |
| int main () | |
| { | |
| struct s x; | |
| int i; | |
| for (i = 0; i < 16; i++) | |
| x.val[i] = i + 1; | |
| if (f (1, x, 10000.0L) != 10136.0L) | |
| abort (); | |
| exit (0); | |
| } |