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