xref: /llvm-project/clang/test/Lexer/null-character-in-literal.c (revision 64ab2b1dcc5136a744fcac21d3d2c59e9cce040a)
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 
3 // This file contains literal null characters, be careful not to remove them
4 // accidentally.
5 
6 char a = '�'; // expected-warning {{null character(s) preserved in char literal}}
7 char b = '\�'; // expected-warning {{null character(s) preserved in char literal}}
8               // expected-warning@-1 {{unknown escape sequence '\x0'}}
9 
10 char *c = "null�character"; // expected-warning {{null character(s) preserved in string literal}}
11 char *d = "null\�character"; // expected-warning {{null character(s) preserved in string literal}}
12                             // expected-warning@-1 {{unknown escape sequence '\x0'}}
13 
14 // Put broken include in the end because it suppresses subsequent warnings.
15 #include <null\character> // expected-warning {{null character(s) preserved in string literal}}
16                           // expected-error@-1 {{'null\<U+0000>character' file not found}}
17