diff options
author | Artem Dergachev <artem.dergachev@gmail.com> | 2019-06-25 02:16:56 +0000 |
---|---|---|
committer | Artem Dergachev <artem.dergachev@gmail.com> | 2019-06-25 02:16:56 +0000 |
commit | 14f4de9bb9dd04bbdf784082b78b25f0d41b186e (patch) | |
tree | e7b93cf7703c1fe931ae36d145d3128bf31b4fe2 | |
parent | beb85ad66de5af11e45bae236a3dd5a6a4762150 (diff) | |
download | bcm5719-llvm-14f4de9bb9dd04bbdf784082b78b25f0d41b186e.tar.gz bcm5719-llvm-14f4de9bb9dd04bbdf784082b78b25f0d41b186e.zip |
[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
-rw-r--r-- | clang/test/Analysis/exploded-graph-rewriter/escapes.c | 7 | ||||
-rwxr-xr-x | clang/utils/analyzer/exploded-graph-rewriter.py | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/clang/test/Analysis/exploded-graph-rewriter/escapes.c b/clang/test/Analysis/exploded-graph-rewriter/escapes.c index bdf308513ea..32a7713561f 100644 --- a/clang/test/Analysis/exploded-graph-rewriter/escapes.c +++ b/clang/test/Analysis/exploded-graph-rewriter/escapes.c @@ -8,7 +8,7 @@ // FIXME: Substitution doesn't seem to work on Windows. // UNSUPPORTED: system-windows -void string_region_escapes() { +void escapes() { // CHECK: <td align="left"><b>Store: </b></td> // CHECK-SAME: <td align="left">foo</td><td align="left">0</td> // CHECK-SAME: <td align="left">&Element\{"foo",0 S64b,char\}</td> @@ -16,4 +16,9 @@ void string_region_escapes() { // CHECK-SAME: <td align="left">"foo"</td> // CHECK-SAME: <td align="left">&Element\{"foo",0 S64b,char\}</td> const char *const foo = "foo"; + + // CHECK: <font color="cyan3">BinaryOperator</font> + // CHECK-SAME: <td align="left">1 \| 2</td> + // CHECK-SAME: <td align="left">3 S32b</td> + int x = 1 | 2; } diff --git a/clang/utils/analyzer/exploded-graph-rewriter.py b/clang/utils/analyzer/exploded-graph-rewriter.py index 4aae72c0da6..668b12110b4 100755 --- a/clang/utils/analyzer/exploded-graph-rewriter.py +++ b/clang/utils/analyzer/exploded-graph-rewriter.py @@ -300,6 +300,7 @@ class ExplodedGraph(object): .replace('\\{', '{') \ .replace('\\}', '}') \ .replace('\\\\', '\\') \ + .replace('\\|', '|') \ .replace('\\<', '\\\\<') \ .replace('\\>', '\\\\>') \ .rstrip(',') @@ -329,7 +330,7 @@ class DotDumpVisitor(object): .replace('\\<', '<') .replace('\\>', '>') .replace('\\l', '<br />') - .replace('|', ''), end='') + .replace('|', '\\|'), end='') @staticmethod def _diff_plus_minus(is_added): |