1 /* $NetBSD: lex_wide_char.c,v 1.5 2024/01/19 19:23: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 test(void)15test(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 sink(L'\e'); 30 31 /* expect+1: warning: dubious escape \y [79] */ 32 sink(L'\y'); 33 34 /* since C99 */ 35 sink(L'\x12'); 36 37 /* octal */ 38 sink(L'\177'); 39 40 /* newline */ 41 sink(L'\n'); 42 43 /* expect+1: error: empty character constant [73] */ 44 sink(L''); 45 } 46