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
5 struct s { int val[16]; };
6
f(int pa,struct s pb,long double pc)7 long 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
main()16 int 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