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