Home | History | Annotate | Line # | Download | only in lint1
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