1 // RUN: not %clang_cc1 -fsyntax-only %s 2>&1 | FileCheck -strict-whitespace %s
2 
foo()3 void foo() {
4   (void)"\q \u123z \x \U \U123 \U12345 \u123 \xyzzy \777 \U"
5   // CHECK: {{^  \(void\)"\\q \\u123z \\x \\U \\U123 \\U12345 \\u123 \\xyzzy \\777 \\U"$}}
6   //
7   //              (void)"\q \u123z \x \U \U123 \U12345 \u123 \xyzzy \777 \U"
8   // CHECK: {{^         \^~$}}
9   // CHECK: {{^            \^~~~~$}}
10   // CHECK: {{^                   \^~$}}
11   // CHECK: {{^                      \^~$}}
12   // CHECK: {{^                         \^~~~~$}}
13   // CHECK: {{^                               \^~~~~~~$}}
14   // CHECK: {{^                                       \^~~~~$}}
15   // CHECK: {{^                                             \^~$}}
16   // CHECK: {{^                                                    \^~~~$}}
17   // CHECK: {{^                                                         \^~$}}
18 
19   "123 \x \z";
20   // CHECK: {{^  "123 \\x \\z";$}}
21   //
22   //              "123 \x \z";
23   // CHECK: {{^       \^~$}}
24   // CHECK: {{^          \^~$}}
25 }
26 
27 #define foo() lots and lots of tokens, need at least 8 to fill up the smallvector buffer #BadThingsHappenNow
28