/* $NetBSD: lex_string.c,v 1.6 2023/03/28 14:44:34 rillig Exp $ */
# 3 "lex_string.c"
/*
* Test lexical analysis of string constants.
*
* C99 6.4.5 "String literals"
*/
/* lint1-extra-flags: -X 351 */
void sink(const char *);
void
test(void)
{
sink("");
sink("hello, world\n");
sink("\0");
sink("\0\0\0\0");
/* expect+1: error: no hex digits follow \x [74] */
sink("\x"); /* unfinished */
/* expect+1: warning: dubious escape \y [79] */
sink("\y"); /* unknown escape sequence */
sink("first" "second");
/* expect+1: error: cannot concatenate wide and regular string literals [292] */
sink("plain" L"wide");
}
/* TODO: test digraphs inside string literals */
/* TODO: test trigraphs inside string literals */