blob: 140ec676fb0fb38b426aa9f7ee04bc9d8be4fff1 [file] [log] [blame]
Artem Dergachevb50d1672019-06-19 23:33:55 +00001// FIXME: Figure out how to use %clang_analyze_cc1 with our lit.local.cfg.
2// RUN: %clang_cc1 -analyze -triple x86_64-unknown-linux-gnu \
3// RUN: -analyzer-checker=core \
4// RUN: -analyzer-dump-egraph=%t.dot %s
5// RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
David Zarzyckif237c7d2019-06-20 09:58:58 +00006// REQUIRES: asserts
Artem Dergachevb50d1672019-06-19 23:33:55 +00007
8// FIXME: Substitution doesn't seem to work on Windows.
9// UNSUPPORTED: system-windows
10
Artem Dergachev14f4de92019-06-25 02:16:56 +000011void escapes() {
Artem Dergachevb50d1672019-06-19 23:33:55 +000012 // CHECK: <td align="left"><b>Store: </b></td>
13 // CHECK-SAME: <td align="left">foo</td><td align="left">0</td>
14 // CHECK-SAME: <td align="left">&amp;Element\{"foo",0 S64b,char\}</td>
15 // CHECK: <td align="left"><b>Environment: </b></td>
16 // CHECK-SAME: <td align="left">"foo"</td>
17 // CHECK-SAME: <td align="left">&amp;Element\{"foo",0 S64b,char\}</td>
Csaba Dabisc55170c2019-06-25 03:08:32 +000018 const char *const foo = "\x66\x6f\x6f";
Artem Dergachev14f4de92019-06-25 02:16:56 +000019
20 // CHECK: <font color="cyan3">BinaryOperator</font>
21 // CHECK-SAME: <td align="left">1 \| 2</td>
22 // CHECK-SAME: <td align="left">3 S32b</td>
23 int x = 1 | 2;
Artem Dergachevb50d1672019-06-19 23:33:55 +000024}