forked from OSchip/llvm-project
[analyzer] Fix JSON dumps for ExplodedNodes
Summary: - Now we could see the `has_report` property in `trim-egraph` mode. - This patch also removes the trailing comma after each node. Reviewers: NoQ Reviewed By: NoQ Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63436 llvm-svn: 364193
This commit is contained in:
parent
e3a676e9ad
commit
906d494b6e
|
@ -3009,7 +3009,7 @@ struct DOTGraphTraits<ExplodedGraph*> : public DefaultDOTGraphTraits {
|
|||
|
||||
for (const auto &EQ : EQClasses) {
|
||||
for (const BugReport &Report : EQ) {
|
||||
if (Report.getErrorNode() == N)
|
||||
if (Report.getErrorNode()->getState() == N->getState())
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -3109,11 +3109,7 @@ struct DOTGraphTraits<ExplodedGraph*> : public DefaultDOTGraphTraits {
|
|||
Indent(Out, Space, IsDot) << "\"program_state\": null";
|
||||
}
|
||||
|
||||
Out << "\\l}";
|
||||
if (!N->succ_empty())
|
||||
Out << ',';
|
||||
Out << "\\l";
|
||||
|
||||
Out << "\\l}\\l";
|
||||
return Out.str();
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-dump-egraph=%t.dot %s
|
||||
// RUN: %clang_analyze_cc1 -analyzer-checker=core \
|
||||
// RUN: -analyzer-dump-egraph=%t.dot %s
|
||||
// RUN: cat %t.dot | FileCheck %s
|
||||
// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-dump-egraph=%t.dot -trim-egraph %s
|
||||
|
||||
// RUN: %clang_analyze_cc1 -analyzer-checker=core \
|
||||
// RUN: -analyzer-dump-egraph=%t.dot \
|
||||
// RUN: -trim-egraph %s
|
||||
// RUN: cat %t.dot | FileCheck %s
|
||||
|
||||
// REQUIRES: asserts
|
||||
|
||||
int getJ();
|
||||
|
@ -10,8 +16,6 @@ int foo() {
|
|||
return *x + *y;
|
||||
}
|
||||
|
||||
// CHECK: digraph "Exploded Graph" {
|
||||
|
||||
// CHECK: \"program_points\": [\l \{ \"kind\": \"Edge\", \"src_id\": 2, \"dst_id\": 1, \"terminator\": null, \"term_kind\": null, \"tag\": null \}\l ],\l \"program_state\": null
|
||||
|
||||
// CHECK: \"program_points\": [\l \{ \"kind\": \"BlockEntrance\", \"block_id\": 1
|
||||
|
|
Loading…
Reference in New Issue