1/* On IRIX 6, PB is passed partially in registers and partially on the 2 stack, with an odd number of words in the register part. Check that 3 the long double stack argument (PC) is still accessed properly. */ 4 5struct s { int val[16]; }; 6 7long double f (int pa, struct s pb, long double pc) 8{ 9 int i; 10 11 for (i = 0; i < 16; i++) 12 pc += pb.val[i]; 13 return pc; 14} 15 16int main () 17{ 18 struct s x; 19 int i; 20 21 for (i = 0; i < 16; i++) 22 x.val[i] = i + 1; 23 if (f (1, x, 10000.0L) != 10136.0L) 24 abort (); 25 exit (0); 26} 27