1typedef _Bool bool; 2typedef signed char schar; 3typedef unsigned char uchar; 4typedef unsigned short ushort; 5typedef unsigned int uint; 6typedef unsigned long ulong; 7typedef long long longlong; 8typedef 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 31DEFINE_CASTS(bool) 32DEFINE_CASTS(char) 33DEFINE_CASTS(schar) 34DEFINE_CASTS(uchar) 35DEFINE_CASTS(short) 36DEFINE_CASTS(ushort) 37DEFINE_CASTS(int) 38DEFINE_CASTS(uint) 39DEFINE_CASTS(long) 40DEFINE_CASTS(ulong) 41DEFINE_CASTS(longlong) 42DEFINE_CASTS(ulonglong) 43DEFINE_CASTS(float) 44DEFINE_CASTS(double) 45 46/* 47 * check-name: Cast code generation 48 * check-command: sparsec -c $file -o tmp.o 49 */ 50