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