aboutsummaryrefslogtreecommitdiff
path: root/gcc/analyzer/program-point.cc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2022-04-28 13:46:15 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2022-04-28 13:48:41 -0400
commitd8586b00dd00a1783862da5f0c8811a740400074 (patch)
treecc23674ed7415bb569e850bc0005b398c65cf225 /gcc/analyzer/program-point.cc
parent509fd16da8528444dccc98cef57a18a295c3f1b4 (diff)
downloadgcc-d8586b00dd00a1783862da5f0c8811a740400074.zip
gcc-d8586b00dd00a1783862da5f0c8811a740400074.tar.gz
gcc-d8586b00dd00a1783862da5f0c8811a740400074.tar.bz2
analyzer: add .fpath.txt dumps to -fdump-analyzer-feasibility
I found this extension to -fdump-analyzer-feasibility very helpful when debugging PR analyzer/105285. gcc/analyzer/ChangeLog: * diagnostic-manager.cc (epath_finder::process_worklist_item): Call dump_feasible_path when a path that reaches the the target enode is found. (epath_finder::dump_feasible_path): New. * engine.cc (feasibility_state::dump_to_pp): New. * exploded-graph.h (feasibility_state::dump_to_pp): New decl. * feasible-graph.cc (feasible_graph::dump_feasible_path): New. * feasible-graph.h (feasible_graph::dump_feasible_path): New decls. * program-point.cc (function_point::print): Fix missing trailing newlines. * program-point.h (program_point::print_source_line): Remove unimplemented decl. gcc/ChangeLog: * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the fpath.txt output. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc/analyzer/program-point.cc')
-rw-r--r--gcc/analyzer/program-point.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/analyzer/program-point.cc b/gcc/analyzer/program-point.cc
index 61cea8a..8fa7066 100644
--- a/gcc/analyzer/program-point.cc
+++ b/gcc/analyzer/program-point.cc
@@ -114,6 +114,8 @@ function_point::print (pretty_printer *pp, const format &f) const
case PK_ORIGIN:
pp_printf (pp, "origin");
+ if (f.m_newlines)
+ pp_newline (pp);
break;
case PK_BEFORE_SUPERNODE:
@@ -156,6 +158,8 @@ function_point::print (pretty_printer *pp, const format &f) const
case PK_AFTER_SUPERNODE:
pp_printf (pp, "after SN: %i", m_supernode->m_index);
+ if (f.m_newlines)
+ pp_newline (pp);
break;
}
}