1 /* On the i960 any arg bigger than 16 bytes causes all subsequent args
2    to be passed on the stack.  We test this.  */
3 
4 #include <stdarg.h>
5 
6 typedef struct {
7   char a[32];
8 } big;
9 
10 void
f(big x,char * s,...)11 f (big x, char *s, ...)
12 {
13   va_list ap;
14 
15   if (x.a[0] != 'a' || x.a[1] != 'b' || x.a[2] != 'c')
16     abort ();
17   va_start (ap, s);
18   if (va_arg (ap, int) != 42)
19     abort ();
20   if (va_arg (ap, int) != 'x')
21     abort ();
22   if (va_arg (ap, int) != 0)
23     abort ();
24   va_end (ap);
25 }
26 
main()27 main ()
28 {
29   static big x = { "abc" };
30 
31   f (x, "", 42, 'x', 0);
32   exit (0);
33 }
34