1*64ab2b1dSCorentin Jabot // RUN: %clang_cc1 -fsyntax-only -Wno-unused-value %s 2>&1 | FileCheck %s
2a0613170SDavid Blaikie // REQUIRES: asserts
399e2fa87SSeth Cantrell 
foo(void)47de71613SAaron Ballman void foo(void) {
599e2fa87SSeth Cantrell 
699e2fa87SSeth Cantrell   "��"; // �
799e2fa87SSeth Cantrell // CHECK: {{^  "<A7><C3>"; // <F8>}}
84cfc817aSSeth Cantrell // CHECK: {{^   \^~~~~~~}}
999e2fa87SSeth Cantrell 
1099e2fa87SSeth Cantrell   /* �� */ const char *d = "�";
1199e2fa87SSeth Cantrell 
1299e2fa87SSeth Cantrell // CHECK: {{^  /\* <FE><AB> \*/ const char \*d = "<A5>";}}
13639b8d05SRichard Smith // CHECK: {{^                                  \^~~~}}
1499e2fa87SSeth Cantrell 
154cfc817aSSeth Cantrell   "xx鿿�d";
16*64ab2b1dSCorentin Jabot // CHECK: {{^  "xx鿿<BF>d";}}
174cfc817aSSeth Cantrell // CHECK: {{^             \^~~~}}
184cfc817aSSeth Cantrell 
194cfc817aSSeth Cantrell   "xx�bcd";
204cfc817aSSeth Cantrell // CHECK: {{^  "xx<E9><BF>bcd";}}
214cfc817aSSeth Cantrell // CHECK: {{^     \^~~~~~~~}}
224cfc817aSSeth Cantrell 
234cfc817aSSeth Cantrell   "xx�abcd";
244cfc817aSSeth Cantrell // CHECK: {{^  "xx<E9>abcd";}}
254cfc817aSSeth Cantrell // CHECK: {{^     \^~~~}}
264cfc817aSSeth Cantrell 
274cfc817aSSeth Cantrell   "xx��d";
284cfc817aSSeth Cantrell // CHECK: {{^  "xx<E9><BF><E9><BF>d";}}
294cfc817aSSeth Cantrell // CHECK: {{^     \^~~~~~~~~~~~~~~}}
304cfc817aSSeth Cantrell 
314cfc817aSSeth Cantrell   "xx�xxxxxxxxxxxxxxxxxxxxx�xx";
324cfc817aSSeth Cantrell // CHECK: {{^  "xx<E9><BF>xxxxxxxxxxxxxxxxxxxxx<E9><BF>xx";}}
334cfc817aSSeth Cantrell // CHECK: {{^     \^~~~~~~~                     ~~~~~~~~}}
34a0613170SDavid Blaikie 
35d7beb4a1SSeth Cantrell   "�?k��S���g�7�,	2,D�u��*�,p���&��(�K�:�'1��jOŰ<:";
36d7beb4a1SSeth Cantrell 
37a0613170SDavid Blaikie   "x�x�x�x�x�x�x�x�x�x�x�x�x";
3899e2fa87SSeth Cantrell }
39a0613170SDavid Blaikie // CHECK-NOT:Assertion
40