123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- static void OK(void)
- {
- #define TEST(x) { T a; x *b = &a; }
- #define TEST2(x, y) TEST(x y) TEST(y x)
- #define TEST3(x, y, z) TEST(x y z) TEST(x z y) TEST(y x z) \
- TEST(y z x) TEST(z x y) TEST(z y x)
- #define TEST4(x, y, z, w) TEST2(x y, z w) TEST2(x y, w z) \
- TEST2(y x, z w) TEST2(y x, w z) \
- TEST2(x z, y w) TEST2(x z, w y) \
- TEST2(z x, y w) TEST2(z x, w y) \
- TEST2(x w, y z) TEST2(x w, z y) \
- TEST2(w x, y z) TEST2(w x, z y)
- #define T char
- TEST(char)
- #undef T
- #define T signed char
- TEST2(char, signed)
- #undef T
- #define T unsigned char
- TEST2(char, unsigned)
- #undef T
- #define T short
- TEST(short)
- TEST2(int, short)
- #undef T
- #define T int
- TEST(int)
- #undef T
- #define T long
- TEST(long)
- TEST2(int, long)
- #undef T
- #define T long long
- TEST2(long, long)
- TEST3(int, long, long)
- #undef T
- #define T signed short
- TEST2(short, signed)
- TEST3(int, short, signed)
- #undef T
- #define T signed
- TEST(signed)
- TEST2(int, signed)
- #undef T
- #define T signed long
- TEST2(long, signed)
- TEST3(int, long, signed)
- #undef T
- #define T signed long long
- TEST3(long, long, signed)
- TEST4(int, long, long, signed)
- #undef T
- #define T unsigned short
- TEST2(short, unsigned)
- TEST3(int, short, unsigned)
- #undef T
- #define T unsigned
- TEST(unsigned)
- TEST2(int, unsigned)
- #undef T
- #define T unsigned long
- TEST2(long, unsigned)
- TEST3(int, long, unsigned)
- #undef T
- #define T unsigned long long
- TEST3(long, long, unsigned)
- TEST4(int, long, long, unsigned)
- #undef T
- #define T float
- TEST(float)
- #undef T
- #define T double
- TEST(double)
- #undef T
- #define T long double
- TEST2(double, long)
- #undef T
- }
- /*
- * check-name: valid specifier combinations
- * check-command: sparse $file
- */
|