debug: add __smatch_type() which prints the type of the argument
[smatch.git] / validation / backend / cast.c
blob598b16aab6bb8ec226e39838e1d2a6649d89bc7f
1 typedef _Bool bool;
2 typedef unsigned char uchar;
3 typedef unsigned short ushort;
4 typedef unsigned int uint;
5 typedef unsigned long ulong;
6 typedef long long longlong;
7 typedef unsigned long long ulonglong;
9 #define DEFINE_CAST(from, to) \
10 static to from##2##to(from x) { \
11 return x; \
14 #define DEFINE_CASTS(from) \
15 DEFINE_CAST(from, bool) \
16 DEFINE_CAST(from, char) \
17 DEFINE_CAST(from, uchar) \
18 DEFINE_CAST(from, short) \
19 DEFINE_CAST(from, ushort) \
20 DEFINE_CAST(from, int) \
21 DEFINE_CAST(from, uint) \
22 DEFINE_CAST(from, long) \
23 DEFINE_CAST(from, ulong) \
24 DEFINE_CAST(from, longlong) \
25 DEFINE_CAST(from, ulonglong) \
27 DEFINE_CAST(from, float) \
28 DEFINE_CAST(from, double)
31 DEFINE_CASTS(bool)
32 DEFINE_CASTS(char)
33 DEFINE_CASTS(uchar)
34 DEFINE_CASTS(short)
35 DEFINE_CASTS(ushort)
36 DEFINE_CASTS(int)
37 DEFINE_CASTS(uint)
38 DEFINE_CASTS(long)
39 DEFINE_CASTS(ulong)
40 DEFINE_CASTS(longlong)
41 DEFINE_CASTS(ulonglong)
43 DEFINE_CASTS(float)
44 DEFINE_CASTS(double)
48 * check-name: Cast code generation
49 * check-command: ./sparsec -c $file -o tmp.o