1 typedef _Bool bool;
2 typedef   signed char schar;
3 typedef unsigned char uchar;
4 typedef unsigned short ushort;
5 typedef unsigned int uint;
6 typedef unsigned long ulong;
7 typedef long long longlong;
8 typedef unsigned long long ulonglong;
9 
10 #define DEFINE_CAST(from, to)			\
11 	static to from##2##to(from x) {		\
12 		return x;			\
13 	}
14 
15 #define DEFINE_CASTS(from)			\
16 	DEFINE_CAST(from, bool)			\
17 	DEFINE_CAST(from, char)			\
18 	DEFINE_CAST(from, schar)		\
19 	DEFINE_CAST(from, uchar)		\
20 	DEFINE_CAST(from, short)		\
21 	DEFINE_CAST(from, ushort)		\
22 	DEFINE_CAST(from, int)			\
23 	DEFINE_CAST(from, uint)			\
24 	DEFINE_CAST(from, long)			\
25 	DEFINE_CAST(from, ulong)		\
26 	DEFINE_CAST(from, longlong)		\
27 	DEFINE_CAST(from, ulonglong)		\
28 	DEFINE_CAST(from, float)		\
29 	DEFINE_CAST(from, double)
30 
31 DEFINE_CASTS(bool)
32 DEFINE_CASTS(char)
33 DEFINE_CASTS(schar)
34 DEFINE_CASTS(uchar)
35 DEFINE_CASTS(short)
36 DEFINE_CASTS(ushort)
37 DEFINE_CASTS(int)
38 DEFINE_CASTS(uint)
39 DEFINE_CASTS(long)
40 DEFINE_CASTS(ulong)
41 DEFINE_CASTS(longlong)
42 DEFINE_CASTS(ulonglong)
43 DEFINE_CASTS(float)
44 DEFINE_CASTS(double)
45 
46 /*
47  * check-name: Cast code generation
48  * check-command: sparsec -c $file -o tmp.o
49  */
50