annotate gcc/selftest-diagnostic.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 /* Selftest support for diagnostics.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2 Copyright (C) 2016-2020 Free Software Foundation, Inc.
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 This file is part of GCC.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 GCC is free software; you can redistribute it and/or modify it under
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 the terms of the GNU General Public License as published by the Free
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 Software Foundation; either version 3, or (at your option) any later
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 version.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 for more details.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 along with GCC; see the file COPYING3. If not see
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 <http://www.gnu.org/licenses/>. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 #include "config.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 #include "system.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 #include "coretypes.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 #include "diagnostic.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 #include "selftest.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 #include "selftest-diagnostic.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 /* The selftest code should entirely disappear in a production
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 configuration, hence we guard all of it with #if CHECKING_P. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 #if CHECKING_P
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32 namespace selftest {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34 /* Implementation of class selftest::test_diagnostic_context. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 test_diagnostic_context::test_diagnostic_context ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38 diagnostic_initialize (this, 0);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39 show_caret = true;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
40 show_labels_p = true;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
41 show_column = true;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
42 start_span = start_span_cb;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
43 min_margin_width = 6;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
44 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
45
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
46 test_diagnostic_context::~test_diagnostic_context ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
47 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
48 diagnostic_finish (this);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
49 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
50
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
51 /* Implementation of diagnostic_start_span_fn, hiding the
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
52 real filename (to avoid printing the names of tempfiles). */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
53
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
54 void
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
55 test_diagnostic_context::start_span_cb (diagnostic_context *context,
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
56 expanded_location exploc)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
57 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
58 exploc.file = "FILENAME";
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
59 default_diagnostic_start_span_fn (context, exploc);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
60 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
61
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
62 } // namespace selftest
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
63
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
64 #endif /* #if CHECKING_P */