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 Livoid 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