]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/diagnostic-diagram.h
check undefine_p for one more vr
[thirdparty/gcc.git] / gcc / diagnostic-diagram.h
1 /* Support for diagrams within diagnostics.
2 Copyright (C) 2023 Free Software Foundation, Inc.
3 Contributed by David Malcolm <dmalcolm@redhat.com>
4
5 This file is part of GCC.
6
7 GCC is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 3, or (at your option) any later
10 version.
11
12 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */
20
21 #ifndef GCC_DIAGNOSTIC_DIAGRAM_H
22 #define GCC_DIAGNOSTIC_DIAGRAM_H
23
24 namespace text_art
25 {
26 class canvas;
27 } // namespace text_art
28
29 /* A text art diagram, along with an "alternative text" string
30 describing it. */
31
32 class diagnostic_diagram
33 {
34 public:
35 diagnostic_diagram (const text_art::canvas &canvas,
36 const char *alt_text)
37 : m_canvas (canvas),
38 m_alt_text (alt_text)
39 {
40 gcc_assert (alt_text);
41 }
42
43 const text_art::canvas &get_canvas () const { return m_canvas; }
44 const char *get_alt_text () const { return m_alt_text; }
45
46 private:
47 const text_art::canvas &m_canvas;
48 const char *const m_alt_text;
49 };
50
51 #endif /* ! GCC_DIAGNOSTIC_DIAGRAM_H */