1 #include <stdarg.h>
2 
3 #include "compat-common.h"
4 
5 
6 #include "fp2-struct-defs.h"
7 #include "fp2-struct-init.h"
8 
9 #define T(TYPE)							\
10 extern TYPE g01##TYPE, g02##TYPE, g03##TYPE, g04##TYPE;		\
11 extern TYPE g05##TYPE, g06##TYPE, g07##TYPE, g08##TYPE;		\
12 extern TYPE g09##TYPE, g10##TYPE, g11##TYPE, g12##TYPE;		\
13 extern TYPE g13##TYPE, g14##TYPE, g15##TYPE, g16##TYPE;		\
14 								\
15 extern void check##TYPE (TYPE x, double y);			\
16 								\
17 void								\
18 checkg##TYPE (void)						\
19 {								\
20   check##TYPE (g01##TYPE,  1.0);					\
21   check##TYPE (g02##TYPE,  2.0);					\
22   check##TYPE (g03##TYPE,  3.0);					\
23   check##TYPE (g04##TYPE,  4.0);					\
24   check##TYPE (g05##TYPE,  5.0);					\
25   check##TYPE (g06##TYPE,  6.0);					\
26   check##TYPE (g07##TYPE,  7.0);					\
27   check##TYPE (g08##TYPE,  8.0);					\
28   check##TYPE (g09##TYPE,  9.0);					\
29   check##TYPE (g10##TYPE, 10.0);					\
30   check##TYPE (g11##TYPE, 11.0);					\
31   check##TYPE (g12##TYPE, 12.0);					\
32   check##TYPE (g13##TYPE, 13.0);					\
33   check##TYPE (g14##TYPE, 14.0);					\
34   check##TYPE (g15##TYPE, 15.0);					\
35   check##TYPE (g16##TYPE, 16.0);					\
36 }								\
37 								\
38 TYPE								\
39 test0##TYPE (void)						\
40 {								\
41   return g01##TYPE;						\
42 }								\
43 								\
44 TYPE								\
45 test1##TYPE (TYPE x01)						\
46 {								\
47   return x01;							\
48 }								\
49 								\
50 TYPE								\
51 testva##TYPE (int n, ...)					\
52 {								\
53   int i;							\
54   TYPE rslt;							\
55   va_list ap;							\
56   if (1)							\
57     {								\
58       va_start (ap, n);						\
59       for (i = 0; i < n; i++)					\
60 	{							\
61 	  rslt = va_arg (ap, TYPE);				\
62 	}							\
63       va_end (ap);						\
64     }								\
65   return rslt;							\
66 }
67 
68 T(Sfd)
69 T(Sfl)
70 T(Sdf)
71 T(Sdl)
72 T(Slf)
73 T(Sld)
74 T(Sfdl)
75 T(Sfld)
76 T(Sdfl)
77 T(Sdlf)
78 T(Slfd)
79 T(Sldf)
80