| typedef _Bool bool; |
| typedef signed char schar; |
| typedef unsigned char uchar; |
| typedef unsigned short ushort; |
| typedef unsigned int uint; |
| typedef unsigned long ulong; |
| typedef long long longlong; |
| typedef unsigned long long ulonglong; |
| |
| #define DEFINE_CAST(from, to) \ |
| static to from##2##to(from x) { \ |
| return x; \ |
| } |
| |
| #define DEFINE_CASTS(from) \ |
| DEFINE_CAST(from, bool) \ |
| DEFINE_CAST(from, char) \ |
| DEFINE_CAST(from, schar) \ |
| DEFINE_CAST(from, uchar) \ |
| DEFINE_CAST(from, short) \ |
| DEFINE_CAST(from, ushort) \ |
| DEFINE_CAST(from, int) \ |
| DEFINE_CAST(from, uint) \ |
| DEFINE_CAST(from, long) \ |
| DEFINE_CAST(from, ulong) \ |
| DEFINE_CAST(from, longlong) \ |
| DEFINE_CAST(from, ulonglong) \ |
| DEFINE_CAST(from, float) \ |
| DEFINE_CAST(from, double) |
| |
| DEFINE_CASTS(bool) |
| DEFINE_CASTS(char) |
| DEFINE_CASTS(schar) |
| DEFINE_CASTS(uchar) |
| DEFINE_CASTS(short) |
| DEFINE_CASTS(ushort) |
| DEFINE_CASTS(int) |
| DEFINE_CASTS(uint) |
| DEFINE_CASTS(long) |
| DEFINE_CASTS(ulong) |
| DEFINE_CASTS(longlong) |
| DEFINE_CASTS(ulonglong) |
| DEFINE_CASTS(float) |
| DEFINE_CASTS(double) |
| |
| /* |
| * check-name: Cast code generation |
| * check-command: sparsec -c $file -o tmp.o |
| */ |