GCC Middle and Back End API Reference
diagnostics/state-graphs.h
Go to the documentation of this file.
1/* Extensions to diagnostics::digraphs to support state graphs.
2 Copyright (C) 2025 Free Software Foundation, Inc.
3 Contributed by David Malcolm <dmalcolm@redhat.com>
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
9Software Foundation; either version 3, or (at your option) any later
10version.
11
12GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING3. If not see
19<http://www.gnu.org/licenses/>. */
20
21#ifndef GCC_DIAGNOSTICS_STATE_GRAPHS_H
22#define GCC_DIAGNOSTICS_STATE_GRAPHS_H
23
25
26/* diagnostics::digraphs provides support for directed graphs.
27
28 diagnostics::state_graphs provides a way to extend these graphs
29 for representing "state graphs" i.e. a representation of the state
30 of memory inside a program, for use e.g. by -fanalyzer.
31
32 Specifically, nodes represent memory regions, and we use property bags
33 in these nodes to stash extra properties (e.g. what kind of memory region
34 a node is e.g. stack vs heap). */
35
36namespace dot { class graph; }
37
38namespace diagnostics {
39namespace state_graphs {
40
41extern std::unique_ptr<dot::graph>
43 const logical_locations::manager &logical_loc_mgr);
44
45} // namespace state_graphs
46} // namespace diagnostics
47
48#endif /* ! GCC_DIAGNOSTICS_STATE_GRAPHS_H */
Definition diagnostics/digraphs.h:123
Definition logical-locations.h:147
Definition diagnostics/state-graphs.h:39
std::unique_ptr< dot::graph > make_dot_graph(const diagnostics::digraphs::digraph &state_graph, const logical_locations::manager &logical_loc_mgr)
Definition state-graphs-to-dot.cc:560
Definition coretypes.h:167
Definition graphviz.cc:147
Definition graphviz.h:160