1 | /* Copyright (C) 2001-2024 Free Software Foundation, Inc. |
2 | |
3 | This file is part of GCC. |
4 | |
5 | GCC is free software; you can redistribute it and/or modify it under |
6 | the terms of the GNU General Public License as published by the Free |
7 | Software Foundation; either version 3, or (at your option) any later |
8 | version. |
9 | |
10 | GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
11 | WARRANTY; without even the implied warranty of MERCHANTABILITY or |
12 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
13 | for more details. |
14 | |
15 | You should have received a copy of the GNU General Public License |
16 | along with GCC; see the file COPYING3. If not see |
17 | <http://www.gnu.org/licenses/>. */ |
18 | |
19 | /* DK_UNSPECIFIED must be first so it has a value of zero. We never |
20 | assign this kind to an actual diagnostic, we only use this in |
21 | variables that can hold a kind, to mean they have yet to have a |
22 | kind specified. I.e. they're uninitialized. Within the diagnostic |
23 | machinery, this kind also means "don't change the existing kind", |
24 | meaning "no change is specified". */ |
25 | DEFINE_DIAGNOSTIC_KIND (DK_UNSPECIFIED, "" , NULL) |
26 | |
27 | /* If a diagnostic is set to DK_IGNORED, it won't get reported at all. |
28 | This is used by the diagnostic machinery when it wants to disable a |
29 | diagnostic without disabling the option which causes it. */ |
30 | DEFINE_DIAGNOSTIC_KIND (DK_IGNORED, "" , NULL) |
31 | |
32 | /* The remainder are real diagnostic types. */ |
33 | DEFINE_DIAGNOSTIC_KIND (DK_FATAL, "fatal error: " , "error" ) |
34 | DEFINE_DIAGNOSTIC_KIND (DK_ICE, "internal compiler error: " , "error" ) |
35 | DEFINE_DIAGNOSTIC_KIND (DK_ERROR, "error: " , "error" ) |
36 | DEFINE_DIAGNOSTIC_KIND (DK_SORRY, "sorry, unimplemented: " , "error" ) |
37 | DEFINE_DIAGNOSTIC_KIND (DK_WARNING, "warning: " , "warning" ) |
38 | DEFINE_DIAGNOSTIC_KIND (DK_ANACHRONISM, "anachronism: " , "warning" ) |
39 | DEFINE_DIAGNOSTIC_KIND (DK_NOTE, "note: " , "note" ) |
40 | DEFINE_DIAGNOSTIC_KIND (DK_DEBUG, "debug: " , "note" ) |
41 | |
42 | /* For use when using the diagnostic_show_locus machinery to show |
43 | a range of events within a path. */ |
44 | DEFINE_DIAGNOSTIC_KIND (DK_DIAGNOSTIC_PATH, "path: " , "path" ) |
45 | |
46 | /* These two would be re-classified as DK_WARNING or DK_ERROR, so the |
47 | prefix does not matter. */ |
48 | DEFINE_DIAGNOSTIC_KIND (DK_PEDWARN, "pedwarn: " , NULL) |
49 | DEFINE_DIAGNOSTIC_KIND (DK_PERMERROR, "permerror: " , NULL) |
50 | /* This one is just for counting DK_WARNING promoted to DK_ERROR |
51 | due to -Werror and -Werror=warning. */ |
52 | DEFINE_DIAGNOSTIC_KIND (DK_WERROR, "error: " , NULL) |
53 | /* This is like DK_ICE, but backtrace is not printed. Used in the driver |
54 | when reporting fatal signal in the compiler. */ |
55 | DEFINE_DIAGNOSTIC_KIND (DK_ICE_NOBT, "internal compiler error: " , "error" ) |
56 | |