1 // CAUTION: The name of this file should start with `l` for proper tests.
2 // FIXME: Figure out how to use %clang_analyze_cc1 with our lit.local.cfg.
3 // RUN: %clang_cc1 -analyze -triple x86_64-unknown-linux-gnu \
4 // RUN:                     -analyzer-checker=core \
5 // RUN:                     -analyzer-dump-egraph=%t.dot %s
6 // RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
7 // REQUIRES: asserts
8 
test1()9 void test1() {
10   // Here __FILE__ macros produces a string with `\` delimiters on Windows
11   // and the name of the file starts with `l`.
12   char text[] = __FILE__;
13 }
14 
test2()15 void test2() {
16   // Here `\l` is in the middle of the literal.
17   char text[] = "string\\literal";
18 }
19 
test()20 void test() {
21   test1();
22   test2();
23 }
24 
25 // This test is passed if exploded_graph_rewriter handles dot file without errors.
26 // CHECK: digraph "ExplodedGraph"
27 // CHECK: shape=record,label=<<table border="0">
28 // CHECK: char text[] = "string\\literal";
29