11f5207b7SJohn Levon typedef _Bool bool; 2*c85f09ccSJohn Levon typedef signed char schar; 31f5207b7SJohn Levon typedef unsigned char uchar; 41f5207b7SJohn Levon typedef unsigned short ushort; 51f5207b7SJohn Levon typedef unsigned int uint; 61f5207b7SJohn Levon typedef unsigned long ulong; 71f5207b7SJohn Levon typedef long long longlong; 81f5207b7SJohn Levon typedef unsigned long long ulonglong; 91f5207b7SJohn Levon 101f5207b7SJohn Levon #define DEFINE_CAST(from, to) \ 111f5207b7SJohn Levon static to from##2##to(from x) { \ 121f5207b7SJohn Levon return x; \ 131f5207b7SJohn Levon } 141f5207b7SJohn Levon 151f5207b7SJohn Levon #define DEFINE_CASTS(from) \ 161f5207b7SJohn Levon DEFINE_CAST(from, bool) \ 171f5207b7SJohn Levon DEFINE_CAST(from, char) \ 18*c85f09ccSJohn Levon DEFINE_CAST(from, schar) \ 191f5207b7SJohn Levon DEFINE_CAST(from, uchar) \ 201f5207b7SJohn Levon DEFINE_CAST(from, short) \ 211f5207b7SJohn Levon DEFINE_CAST(from, ushort) \ 221f5207b7SJohn Levon DEFINE_CAST(from, int) \ 231f5207b7SJohn Levon DEFINE_CAST(from, uint) \ 241f5207b7SJohn Levon DEFINE_CAST(from, long) \ 251f5207b7SJohn Levon DEFINE_CAST(from, ulong) \ 261f5207b7SJohn Levon DEFINE_CAST(from, longlong) \ 271f5207b7SJohn Levon DEFINE_CAST(from, ulonglong) \ 281f5207b7SJohn Levon DEFINE_CAST(from, float) \ 291f5207b7SJohn Levon DEFINE_CAST(from, double) 301f5207b7SJohn Levon 311f5207b7SJohn Levon DEFINE_CASTS(bool) 321f5207b7SJohn Levon DEFINE_CASTS(char) 33*c85f09ccSJohn Levon DEFINE_CASTS(schar) 341f5207b7SJohn Levon DEFINE_CASTS(uchar) 351f5207b7SJohn Levon DEFINE_CASTS(short) 361f5207b7SJohn Levon DEFINE_CASTS(ushort) 371f5207b7SJohn Levon DEFINE_CASTS(int) 381f5207b7SJohn Levon DEFINE_CASTS(uint) 391f5207b7SJohn Levon DEFINE_CASTS(long) 401f5207b7SJohn Levon DEFINE_CASTS(ulong) 411f5207b7SJohn Levon DEFINE_CASTS(longlong) 421f5207b7SJohn Levon DEFINE_CASTS(ulonglong) 431f5207b7SJohn Levon DEFINE_CASTS(float) 441f5207b7SJohn Levon DEFINE_CASTS(double) 451f5207b7SJohn Levon 461f5207b7SJohn Levon /* 471f5207b7SJohn Levon * check-name: Cast code generation 481f5207b7SJohn Levon * check-command: sparsec -c $file -o tmp.o 491f5207b7SJohn Levon */ 50