lex_wide_char.c revision 1.4 1 /* $NetBSD: lex_wide_char.c,v 1.4 2023/03/28 14:44:34 rillig Exp $ */
2 # 3 "lex_wide_char.c"
3
4 /*
5 * Tests for lexical analysis of character constants.
6 *
7 * C99 6.4.4.4 "Character constants"
8 */
9
10 /* lint1-extra-flags: -X 351 */
11
12 void sink(int);
13
14 void
15 test(void)
16 {
17 /* expect+1: error: empty character constant [73] */
18 sink(L'');
19
20 sink(L'a');
21
22 sink(L'\0');
23
24 /* UTF-8 */
25 /* expect+1: error: too many characters in character constant [71] */
26 sink(L'');
27
28 /* GCC extension */
29 /* expect+1: warning: dubious escape \e [79] */
30 sink(L'\e');
31
32 /* since C99 */
33 sink(L'\x12');
34
35 /* octal */
36 sink(L'\177');
37
38 /* newline */
39 sink(L'\n');
40
41 /* expect+1: error: empty character constant [73] */
42 sink(L'');
43 }
44