string-literal-errors.cpp revision 96e7813f08c6adf1d8657b0da86741b54e850fd7
1// RUN: not %clang_cc1 -fsyntax-only %s 2>&1 | FileCheck -strict-whitespace %s
2
3void 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