1#define typename(x) _Generic((x) 0, \ 2char: "char", \ 3signed char: "signed char", \ 4unsigned char: "unsigned char", \ 5default: "???") 6 7#define TEST(name, x) \ 8static const char *test_ ## name(void) { return typename(x); } 9 10TEST(char, char) 11TEST(schar, signed char) 12TEST(uchar, unsigned char) 13 14/* 15 * check-name: generic-schar 16 * check-command: test-linearize --arch=i386 -fsigned-char $file 17 * check-known-to-fail 18 * 19 * check-output-start 20test_char: 21.L0: 22 <entry-point> 23 ret.32 "char" 24 25 26test_schar: 27.L2: 28 <entry-point> 29 ret.32 "signed char" 30 31 32test_uchar: 33.L4: 34 <entry-point> 35 ret.32 "unsigned char" 36 37 38 * check-output-end 39 */ 40