This source file includes following definitions.
- test_callfunc4
- test_callfunc5
- test_callfunc8
- test_callfunc8v
- test_callfunc_va
1 #include <stdlib.h>
2
3 int test_callfunc4(char *dest, int n_args, int a1, int a2)
4 {
5 sprintf(dest,"%d %d %d",n_args, a1, a2);
6 return n_args;
7 }
8
9 int test_callfunc5(char *dest, int n_args, int a1, int a2, int a3)
10 {
11 sprintf(dest,"%d %d %d %d",n_args, a1, a2, a3);
12 return n_args;
13 }
14
15 int test_callfunc8(char *dest, int n_args, int a1, int a2, int a3, int a4, int a5, int a6)
16 {
17 sprintf(dest,"%d %d %d %d %d %d %d",n_args, a1, a2, a3, a4, a5, a6);
18 return n_args;
19 }
20
21 int test_callfunc8v(char *dest, int n_args, int a1, int a2, int a3, int a4, int a5, int a6,...)
22 {
23 sprintf(dest,"%d %d %d %d %d %d %d",n_args, a1, a2, a3, a4, a5, a6);
24 return n_args;
25 }
26
27 int test_callfunc_va(char *dest, int n_args, ...)
28 {
29 char *p=dest;
30 int i;
31 __builtin_va_list va;
32 __builtin_va_start(va, n_args);
33 for( i=0; i<n_args; i++) {
34 p+=sprintf(p,"%d ",__builtin_va_arg(va,int));
35 }
36 __builtin_va_end(va);
37 return n_args;
38 }
39
40 int test_ptrs[]={
41 (int)test_callfunc4,
42 (int)test_callfunc5,
43 (int)test_callfunc8,
44 (int)test_callfunc_va,
45 };