blob: 8b8e56596a6b0f4deb1283a5a07aaef6d62bc88a [file] [log] [blame]
Dale Curtise2938142020-06-29 15:29:48 -07001#include "error.h"
2
3const char * const warning_name[35] = {
4 NULL,
5 "bnd",
6 "environment",
7 "float-denorm",
8 "float-overflow",
9 "float-toolong",
10 "float-underflow",
11 "hle",
12 "label-orphan",
13 "label-redef",
14 "label-redef-late",
15 "lock",
16 "macro-defaults",
17 "macro-params-legacy",
18 "macro-params-multi",
19 "macro-params-single",
20 "negative-rep",
21 "number-overflow",
22 "obsolete-nop",
23 "obsolete-removed",
24 "obsolete-valid",
25 "phase",
26 "pragma-bad",
27 "pragma-empty",
28 "pragma-na",
29 "pragma-unknown",
30 "ptr",
31 "regsize",
32 "unknown-warning",
33 "user",
34 "warn-stack-empty",
35 "zeroing",
36 "zext-reloc",
37 "other",
38 "all"
39};
40
41const struct warning_alias warning_alias[38] = {
42 { "all", WARN_IDX_ALL },
43 { "bad-pragma", WARN_IDX_PRAGMA_BAD },
44 { "bnd", WARN_IDX_BND },
45 { "environment", WARN_IDX_ENVIRONMENT },
46 { "float-denorm", WARN_IDX_FLOAT_DENORM },
47 { "float-overflow", WARN_IDX_FLOAT_OVERFLOW },
48 { "float-toolong", WARN_IDX_FLOAT_TOOLONG },
49 { "float-underflow", WARN_IDX_FLOAT_UNDERFLOW },
50 { "hle", WARN_IDX_HLE },
51 { "label-orphan", WARN_IDX_LABEL_ORPHAN },
52 { "label-redef", WARN_IDX_LABEL_REDEF },
53 { "label-redef-late", WARN_IDX_LABEL_REDEF_LATE },
54 { "lock", WARN_IDX_LOCK },
55 { "macro-defaults", WARN_IDX_MACRO_DEFAULTS },
56 { "macro-params-legacy", WARN_IDX_MACRO_PARAMS_LEGACY },
57 { "macro-params-multi", WARN_IDX_MACRO_PARAMS_MULTI },
58 { "macro-params-single", WARN_IDX_MACRO_PARAMS_SINGLE },
59 { "negative-rep", WARN_IDX_NEGATIVE_REP },
60 { "not-my-pragma", WARN_IDX_PRAGMA_NA },
61 { "number-overflow", WARN_IDX_NUMBER_OVERFLOW },
62 { "obsolete-nop", WARN_IDX_OBSOLETE_NOP },
63 { "obsolete-removed", WARN_IDX_OBSOLETE_REMOVED },
64 { "obsolete-valid", WARN_IDX_OBSOLETE_VALID },
65 { "orphan-labels", WARN_IDX_LABEL_ORPHAN },
66 { "other", WARN_IDX_OTHER },
67 { "phase", WARN_IDX_PHASE },
68 { "pragma-bad", WARN_IDX_PRAGMA_BAD },
69 { "pragma-empty", WARN_IDX_PRAGMA_EMPTY },
70 { "pragma-na", WARN_IDX_PRAGMA_NA },
71 { "pragma-unknown", WARN_IDX_PRAGMA_UNKNOWN },
72 { "ptr", WARN_IDX_PTR },
73 { "regsize", WARN_IDX_REGSIZE },
74 { "unknown-pragma", WARN_IDX_PRAGMA_UNKNOWN },
75 { "unknown-warning", WARN_IDX_UNKNOWN_WARNING },
76 { "user", WARN_IDX_USER },
77 { "warn-stack-empty", WARN_IDX_WARN_STACK_EMPTY },
78 { "zeroing", WARN_IDX_ZEROING },
79 { "zext-reloc", WARN_IDX_ZEXT_RELOC }
80};
81
82const char * const warning_help[35] = {
83 NULL,
84 "invalid BND prefixes",
85 "nonexistent environment variable",
86 "floating point denormal",
87 "floating point overflow",
88 "too many digits in floating-point number",
89 "floating point underflow",
90 "invalid HLE prefixes",
91 "labels alone on lines without trailing `:\'",
92 "label redefined to an identical value",
93 "label (re)defined during code generation",
94 "LOCK prefix on unlockable instructions",
95 "macros with more default than optional parameters",
96 "improperly calling multi-line macro for legacy support",
97 "multi-line macro calls with wrong parameter count",
98 "single-line macro calls with wrong parameter count",
99 "regative %rep count",
100 "numeric constant does not fit",
101 "instruction obsolete and is a noop on the target CPU",
102 "instruction obsolete and removed on the target CPU",
103 "instruction obsolete but valid on the target CPU",
104 "phase error during stabilization",
105 "malformed %pragma",
106 "empty %pragma directive",
107 "%pragma not applicable to this compilation",
108 "unknown %pragma facility or directive",
109 "non-NASM keyword used in other assemblers",
110 "register size specification ignored",
111 "unknown warning in -W/-w or warning directive",
112 "%warning directives",
113 "warning stack empty",
114 "RESx in initialized section becomes zero",
115 "relocation zero-extended to match output format",
116 "any warning not specifially mentioned above",
117 "all possible warnings"
118};
119
120const uint8_t warning_default[34] = {
121 WARN_INIT_ON,
122 WARN_INIT_ON,
123 WARN_INIT_ON,
124 WARN_INIT_OFF,
125 WARN_INIT_ON,
126 WARN_INIT_ON,
127 WARN_INIT_OFF,
128 WARN_INIT_ON,
129 WARN_INIT_ON,
130 WARN_INIT_OFF,
131 WARN_INIT_ERR,
132 WARN_INIT_ON,
133 WARN_INIT_ON,
134 WARN_INIT_ON,
135 WARN_INIT_ON,
136 WARN_INIT_ON,
137 WARN_INIT_ON,
138 WARN_INIT_ON,
139 WARN_INIT_ON,
140 WARN_INIT_ON,
141 WARN_INIT_ON,
142 WARN_INIT_OFF,
143 WARN_INIT_OFF,
144 WARN_INIT_OFF,
145 WARN_INIT_OFF,
146 WARN_INIT_OFF,
147 WARN_INIT_ON,
148 WARN_INIT_ON,
149 WARN_INIT_OFF,
150 WARN_INIT_ON,
151 WARN_INIT_ON,
152 WARN_INIT_ON,
153 WARN_INIT_ON,
154 WARN_INIT_ON
155};
156
157uint8_t warning_state[34]; /* Current state */