1 #define SETUP(NUM,TMODE)				\
2 v##NUM##TMODE g_v##NUM##TMODE;				\
3 TMODE g_##TMODE;					\
4 							\
5 extern void test_v##NUM##TMODE (void);			\
6 extern void checkp_##NUM##TMODE (TMODE *);		\
7 							\
8 void							\
9 pass_v##NUM##TMODE (v##NUM##TMODE v)			\
10 {							\
11   u##NUM##TMODE u;					\
12   int j;						\
13   TMODE a[NUM];						\
14   							\
15   u.v = v;						\
16   for (j = 0; j < NUM; j++)				\
17     a[j] = u.a[j];					\
18   checkp_##NUM##TMODE (a);				\
19 }							\
20 							\
21 v##NUM##TMODE						\
22 return_v##NUM##TMODE (void)				\
23 {							\
24   return g_v##NUM##TMODE;				\
25 }
26 
27 #define CHECK(NUM,TMODE)				\
28   test_v##NUM##TMODE()
29