GCC Middle and Back End API Reference
diagnostic-state.h
Go to the documentation of this file.
1/* Capturing changing state in diagnostic paths.
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
8under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GCC is distributed in the hope that it will be useful, but
13WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15General Public License for 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_DIAGNOSTIC_STATE_H
22#define GCC_DIAGNOSTIC_STATE_H
23
24/* We want to be able to express changing program states in diagnostic paths,
25 so that we can emit this in HTML and SARIF output, and to keep this
26 separate from implementation details of -fanalyzer.
27
28 For now, we use xml::document as the type in the diagnostic subsystem
29 for (optionally) tracking the state at a diagnostic_event. */
30
31namespace xml { class document; }
32namespace dot { class graph; }
33
34extern std::unique_ptr<dot::graph>
36
37#endif /* GCC_DIAGNOSTIC_STATE_H */
std::unique_ptr< dot::graph > make_dot_graph_from_xml_state(const xml::document &xml_state)
Definition diagnostic-state-to-dot.cc:534
Definition diagnostic-state.h:32
Definition diagnostic-path.h:28
Definition graphviz.h:160
Definition xml.h:83