3 #define TEST(x) { T a; x *b = &a; }
4 #define TEST2(x, y) TEST(x y) TEST(y x)
5 #define TEST3(x, y, z) TEST(x y z) TEST(x z y) TEST(y x z) \
6 TEST(y z x) TEST(z x y) TEST(z y x)
7 #define TEST4(x, y, z, w) TEST2(x y, z w) TEST2(x y, w z) \
8 TEST2(y x, z w) TEST2(y x, w z) \
9 TEST2(x z, y w) TEST2(x z, w y) \
10 TEST2(z x, y w) TEST2(z x, w y) \
11 TEST2(x w, y z) TEST2(x w, z y) \
12 TEST2(w x, y z) TEST2(w x, z y)
23 #define T unsigned char
43 TEST3(int, long, long)
46 #define T signed short
48 TEST3(int, short, signed)
58 TEST3(int, long, signed)
61 #define T signed long long
62 TEST3(long, long, signed)
63 TEST4(int, long, long, signed)
66 #define T unsigned short
67 TEST2(short, unsigned)
68 TEST3(int, short, unsigned)
76 #define T unsigned long
78 TEST3(int, long, unsigned)
81 #define T unsigned long long
82 TEST3(long, long, unsigned)
83 TEST4(int, long, long, unsigned)
99 * check-name: valid specifier combinations
100 * check-command: sparse $file