analyzer: add diagnostics to output of -fdump-analyzer-exploded-graph
gcc/analyzer/ChangeLog: * diagnostic-manager.h (diagnostic_manager::get_saved_diagnostic): Add const overload. * engine.cc (exploded_node::dump_dot): Dump saved_diagnostics. * exploded-graph.h (exploded_graph::get_diagnostic_manager): Add const overload.
This commit is contained in:
parent
a8532e9927
commit
670987874d
@ -1,3 +1,11 @@
|
||||
2020-02-17 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
* diagnostic-manager.h (diagnostic_manager::get_saved_diagnostic):
|
||||
Add const overload.
|
||||
* engine.cc (exploded_node::dump_dot): Dump saved_diagnostics.
|
||||
* exploded-graph.h (exploded_graph::get_diagnostic_manager): Add
|
||||
const overload.
|
||||
|
||||
2020-02-11 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
PR analyzer/93288
|
||||
|
@ -95,6 +95,10 @@ public:
|
||||
{
|
||||
return m_saved_diagnostics[idx];
|
||||
}
|
||||
const saved_diagnostic *get_saved_diagnostic (unsigned idx) const
|
||||
{
|
||||
return m_saved_diagnostics[idx];
|
||||
}
|
||||
|
||||
private:
|
||||
void build_emission_path (const exploded_graph &eg,
|
||||
|
@ -854,6 +854,20 @@ exploded_node::dump_dot (graphviz_out *gv, const dump_args_t &args) const
|
||||
}
|
||||
}
|
||||
|
||||
/* Dump any saved_diagnostics at this enode. */
|
||||
{
|
||||
const diagnostic_manager &dm = args.m_eg.get_diagnostic_manager ();
|
||||
for (unsigned i = 0; i < dm.get_num_diagnostics (); i++)
|
||||
{
|
||||
const saved_diagnostic *sd = dm.get_saved_diagnostic (i);
|
||||
if (sd->m_enode == this)
|
||||
{
|
||||
pp_printf (pp, "DIAGNOSTIC: %s", sd->m_d->get_kind ());
|
||||
pp_newline (pp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pp_write_text_as_dot_label_to_stream (pp, /*for_record=*/true);
|
||||
|
||||
pp_string (pp, "\"];\n\n");
|
||||
|
@ -768,6 +768,10 @@ public:
|
||||
{
|
||||
return m_diagnostic_manager;
|
||||
}
|
||||
const diagnostic_manager &get_diagnostic_manager () const
|
||||
{
|
||||
return m_diagnostic_manager;
|
||||
}
|
||||
|
||||
stats *get_global_stats () { return &m_global_stats; }
|
||||
stats *get_or_create_function_stats (function *fn);
|
||||
|
Loading…
Reference in New Issue
Block a user