Skip to content

Commit 14f4de9

Browse files
committed
[analyzer] exploded-graph-rewriter: Fix escaping for bitwise-or.
'|' is a special character in graphviz, so it needs to be properly escaped and unescaped. llvm-svn: 364269
1 parent beb85ad commit 14f4de9

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

clang/test/Analysis/exploded-graph-rewriter/escapes.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,17 @@
88
// FIXME: Substitution doesn't seem to work on Windows.
99
// UNSUPPORTED: system-windows
1010

11-
void string_region_escapes() {
11+
void escapes() {
1212
// CHECK: <td align="left"><b>Store: </b></td>
1313
// CHECK-SAME: <td align="left">foo</td><td align="left">0</td>
1414
// CHECK-SAME: <td align="left">&amp;Element\{"foo",0 S64b,char\}</td>
1515
// CHECK: <td align="left"><b>Environment: </b></td>
1616
// CHECK-SAME: <td align="left">"foo"</td>
1717
// CHECK-SAME: <td align="left">&amp;Element\{"foo",0 S64b,char\}</td>
1818
const char *const foo = "foo";
19+
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;
1924
}

clang/utils/analyzer/exploded-graph-rewriter.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,7 @@ def add_raw_line(self, raw_line):
300300
.replace('\\{', '{') \
301301
.replace('\\}', '}') \
302302
.replace('\\\\', '\\') \
303+
.replace('\\|', '|') \
303304
.replace('\\<', '\\\\<') \
304305
.replace('\\>', '\\\\>') \
305306
.rstrip(',')
@@ -329,7 +330,7 @@ def _dump(s):
329330
.replace('\\<', '&lt;')
330331
.replace('\\>', '&gt;')
331332
.replace('\\l', '<br />')
332-
.replace('|', ''), end='')
333+
.replace('|', '\\|'), end='')
333334

334335
@staticmethod
335336
def _diff_plus_minus(is_added):

0 commit comments

Comments
 (0)