1 /*
2  */
3 
4 #include <sys/types.h>
5 #include <sys/stdint.h>
6 
7 struct s1 {
8 	int		f1_int;
9 	char		*f2_str;
10 	short		f3_short;
11 	uint64_t	f4_uint64;
12 	intmax_t	f5_intmax;
13 	void*		f6_ptr;
14 };
15 
16 struct s2 {
17 	char		f1_buf[20];
18 	struct s1	*f2_s1;
19 };
20 
21 struct s3 {
22 	struct s1	f1_s1;
23 	uint32_t	f2_int32;
24 };
25 
26 enum f3_t {
27 	f3_val0, f3_val1
28 };
29 
30 struct s4 {
31 	struct s1	f1_s1;
32 	uint32_t	f2_int32;
33 	enum f3_t	f3_enum;
34 };
35 
36 typedef int i32;
37 
38 int	func1(int a, int b);
39 int	func2(int64_t a, uint64_t b);
40 void	func3(struct s1 *s);
41 void	func4(struct s1 s);
42 int32_t	func5(i32 a, void *b, struct s2 *s);
43 int	func6__compat(char a, struct s3 *s);
44 int	func6(char a, struct s4 *s);
45 
46 int
func1(int a,int b)47 func1(int a, int b)
48 {
49 	return (a - b);
50 }
51 
52 int
func2(int64_t a,uint64_t b)53 func2(int64_t a, uint64_t b)
54 {
55 	return (a - b);
56 }
57 
58 void
func3(struct s1 * s)59 func3(struct s1 *s)
60 {
61 }
62 
63 void
func4(struct s1 s)64 func4(struct s1 s)
65 {
66 }
67 
68 int
func5(int a,void * b,struct s2 * s)69 func5(int a, void *b, struct s2 *s)
70 {
71 	return (0);
72 }
73 
74 int
func6(char a,struct s4 * s)75 func6(char a, struct s4 *s)
76 {
77 	return (0);
78 }
79 
80 int
func6__compat(char a,struct s3 * s)81 func6__compat(char a, struct s3 *s)
82 {
83 	return (0);
84 }
85 
86 __sym_compat(func6, func6__compat, TEST_1.0);
87