xref: /aosp_15_r20/external/clang/test/Misc/wrong-encoding.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -Wno-unused-value %s 2>&1 | FileCheck -strict-whitespace %s
2*67e74705SXin Li // REQUIRES: asserts
3*67e74705SXin Li 
foo()4*67e74705SXin Li void foo() {
5*67e74705SXin Li 
6*67e74705SXin Li   "��"; // �
7*67e74705SXin Li // CHECK: {{^  "<A7><C3>"; // <F8>}}
8*67e74705SXin Li // CHECK: {{^   \^~~~~~~}}
9*67e74705SXin Li 
10*67e74705SXin Li   /* �� */ const char *d = "�";
11*67e74705SXin Li 
12*67e74705SXin Li // CHECK: {{^  /\* <FE><AB> \*/ const char \*d = "<A5>";}}
13*67e74705SXin Li // CHECK: {{^                                  \^~~~}}
14*67e74705SXin Li 
15*67e74705SXin Li   "xx鿿�d";
16*67e74705SXin Li // CHECK: {{^  "xx<U\+9FFF><BF>d";}}
17*67e74705SXin Li // CHECK: {{^             \^~~~}}
18*67e74705SXin Li 
19*67e74705SXin Li   "xx�bcd";
20*67e74705SXin Li // CHECK: {{^  "xx<E9><BF>bcd";}}
21*67e74705SXin Li // CHECK: {{^     \^~~~~~~~}}
22*67e74705SXin Li 
23*67e74705SXin Li   "xx�abcd";
24*67e74705SXin Li // CHECK: {{^  "xx<E9>abcd";}}
25*67e74705SXin Li // CHECK: {{^     \^~~~}}
26*67e74705SXin Li 
27*67e74705SXin Li   "xx��d";
28*67e74705SXin Li // CHECK: {{^  "xx<E9><BF><E9><BF>d";}}
29*67e74705SXin Li // CHECK: {{^     \^~~~~~~~~~~~~~~}}
30*67e74705SXin Li 
31*67e74705SXin Li   "xx�xxxxxxxxxxxxxxxxxxxxx�xx";
32*67e74705SXin Li // CHECK: {{^  "xx<E9><BF>xxxxxxxxxxxxxxxxxxxxx<E9><BF>xx";}}
33*67e74705SXin Li // CHECK: {{^     \^~~~~~~~                     ~~~~~~~~}}
34*67e74705SXin Li 
35*67e74705SXin Li   "�?k��S���g�7�,	2,D�u��*�,p���&��(�K�:�'1��jOŰ<:";
36*67e74705SXin Li 
37*67e74705SXin Li   "x�x�x�x�x�x�x�x�x�x�x�x�x";
38*67e74705SXin Li }
39*67e74705SXin Li // CHECK-NOT:Assertion
40