analyzer: fixes to -fdump-analyzer-state-purge
gcc/analyzer/ChangeLog: * state-purge.cc (state_purge_annotator::add_node_annotations): Avoid duplicate before-supernode annotations when returning from an interprocedural call. Show after-supernode annotations. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
This commit is contained in:
parent
2b3404357a
commit
79e210f0c8
1 changed files with 2 additions and 1 deletions
|
@ -499,11 +499,12 @@ state_purge_annotator::add_node_annotations (graphviz_out *gv,
|
|||
/* Different in-edges mean different names need purging.
|
||||
Determine which points to dump. */
|
||||
auto_vec<function_point> points;
|
||||
if (n.entry_p ())
|
||||
if (n.entry_p () || n.m_returning_call)
|
||||
points.safe_push (function_point::before_supernode (&n, NULL));
|
||||
else
|
||||
for (auto inedge : n.m_preds)
|
||||
points.safe_push (function_point::before_supernode (&n, inedge));
|
||||
points.safe_push (function_point::after_supernode (&n));
|
||||
|
||||
for (auto & point : points)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue