blob: 4cc5c9f8281c201fea153689d3f2f7797edca69a [file]
#include "error.h"
const char * const warning_name[62] = {
NULL,
"db-empty",
"ea-absolute",
"ea-dispsize",
"float-denorm",
"float-overflow",
"float-toolong",
"float-underflow",
"forward",
"label-orphan",
"label-redef",
"label-redef-late",
"number-overflow",
"obsolete-nop",
"obsolete-removed",
"obsolete-valid",
"phase",
"pp-else-elif",
"pp-else-else",
"pp-empty-braces",
"pp-environment",
"pp-macro-def-case-single",
"pp-macro-def-greedy-single",
"pp-macro-def-param-single",
"pp-macro-defaults",
"pp-macro-params-legacy",
"pp-macro-params-multi",
"pp-macro-params-single",
"pp-macro-redef-multi",
"pp-open-braces",
"pp-open-brackets",
"pp-open-string",
"pp-rep-negative",
"pp-sel-range",
"pp-trailing",
"pragma-bad",
"pragma-empty",
"pragma-na",
"pragma-unknown",
"prefix-bnd",
"prefix-hle",
"prefix-lock-error",
"prefix-lock-xchg",
"prefix-opsize",
"prefix-seg",
"ptr",
"regsize",
"reloc-abs-byte",
"reloc-abs-dword",
"reloc-abs-qword",
"reloc-abs-word",
"reloc-rel-byte",
"reloc-rel-dword",
"reloc-rel-qword",
"reloc-rel-word",
"unknown-warning",
"user",
"warn-stack-empty",
"zeroing",
"zext-reloc",
"other",
"all"
};
const struct warning_alias warning_alias[77] = {
{ "all", WARN_IDX_ALL },
{ "bad-pragma", WARN_IDX_PRAGMA_BAD },
{ "bnd", WARN_IDX_PREFIX_BND },
{ "db-empty", WARN_IDX_DB_EMPTY },
{ "ea-absolute", WARN_IDX_EA_ABSOLUTE },
{ "ea-dispsize", WARN_IDX_EA_DISPSIZE },
{ "environment", WARN_IDX_PP_ENVIRONMENT },
{ "float-denorm", WARN_IDX_FLOAT_DENORM },
{ "float-overflow", WARN_IDX_FLOAT_OVERFLOW },
{ "float-toolong", WARN_IDX_FLOAT_TOOLONG },
{ "float-underflow", WARN_IDX_FLOAT_UNDERFLOW },
{ "forward", WARN_IDX_FORWARD },
{ "hle", WARN_IDX_PREFIX_HLE },
{ "label-orphan", WARN_IDX_LABEL_ORPHAN },
{ "label-redef", WARN_IDX_LABEL_REDEF },
{ "label-redef-late", WARN_IDX_LABEL_REDEF_LATE },
{ "lock", WARN_IDX_PREFIX_LOCK_ERROR },
{ "macro-def-case-single", WARN_IDX_PP_MACRO_DEF_CASE_SINGLE },
{ "macro-def-greedy-single", WARN_IDX_PP_MACRO_DEF_GREEDY_SINGLE },
{ "macro-def-param-single", WARN_IDX_PP_MACRO_DEF_PARAM_SINGLE },
{ "macro-defaults", WARN_IDX_PP_MACRO_DEFAULTS },
{ "macro-params-legacy", WARN_IDX_PP_MACRO_PARAMS_LEGACY },
{ "macro-params-multi", WARN_IDX_PP_MACRO_PARAMS_MULTI },
{ "macro-params-single", WARN_IDX_PP_MACRO_PARAMS_SINGLE },
{ "negative-rep", WARN_IDX_PP_REP_NEGATIVE },
{ "not-my-pragma", WARN_IDX_PRAGMA_NA },
{ "number-overflow", WARN_IDX_NUMBER_OVERFLOW },
{ "obsolete-nop", WARN_IDX_OBSOLETE_NOP },
{ "obsolete-removed", WARN_IDX_OBSOLETE_REMOVED },
{ "obsolete-valid", WARN_IDX_OBSOLETE_VALID },
{ "orphan-labels", WARN_IDX_LABEL_ORPHAN },
{ "other", WARN_IDX_OTHER },
{ "phase", WARN_IDX_PHASE },
{ "pp-else-elif", WARN_IDX_PP_ELSE_ELIF },
{ "pp-else-else", WARN_IDX_PP_ELSE_ELSE },
{ "pp-empty-braces", WARN_IDX_PP_EMPTY_BRACES },
{ "pp-environment", WARN_IDX_PP_ENVIRONMENT },
{ "pp-macro-def-case-single", WARN_IDX_PP_MACRO_DEF_CASE_SINGLE },
{ "pp-macro-def-greedy-single", WARN_IDX_PP_MACRO_DEF_GREEDY_SINGLE },
{ "pp-macro-def-param-single", WARN_IDX_PP_MACRO_DEF_PARAM_SINGLE },
{ "pp-macro-defaults", WARN_IDX_PP_MACRO_DEFAULTS },
{ "pp-macro-params-legacy", WARN_IDX_PP_MACRO_PARAMS_LEGACY },
{ "pp-macro-params-multi", WARN_IDX_PP_MACRO_PARAMS_MULTI },
{ "pp-macro-params-single", WARN_IDX_PP_MACRO_PARAMS_SINGLE },
{ "pp-macro-redef-multi", WARN_IDX_PP_MACRO_REDEF_MULTI },
{ "pp-open-braces", WARN_IDX_PP_OPEN_BRACES },
{ "pp-open-brackets", WARN_IDX_PP_OPEN_BRACKETS },
{ "pp-open-string", WARN_IDX_PP_OPEN_STRING },
{ "pp-rep-negative", WARN_IDX_PP_REP_NEGATIVE },
{ "pp-sel-range", WARN_IDX_PP_SEL_RANGE },
{ "pp-trailing", WARN_IDX_PP_TRAILING },
{ "pragma-bad", WARN_IDX_PRAGMA_BAD },
{ "pragma-empty", WARN_IDX_PRAGMA_EMPTY },
{ "pragma-na", WARN_IDX_PRAGMA_NA },
{ "pragma-unknown", WARN_IDX_PRAGMA_UNKNOWN },
{ "prefix-bnd", WARN_IDX_PREFIX_BND },
{ "prefix-hle", WARN_IDX_PREFIX_HLE },
{ "prefix-lock-error", WARN_IDX_PREFIX_LOCK_ERROR },
{ "prefix-lock-xchg", WARN_IDX_PREFIX_LOCK_XCHG },
{ "prefix-opsize", WARN_IDX_PREFIX_OPSIZE },
{ "prefix-seg", WARN_IDX_PREFIX_SEG },
{ "ptr", WARN_IDX_PTR },
{ "regsize", WARN_IDX_REGSIZE },
{ "reloc-abs-byte", WARN_IDX_RELOC_ABS_BYTE },
{ "reloc-abs-dword", WARN_IDX_RELOC_ABS_DWORD },
{ "reloc-abs-qword", WARN_IDX_RELOC_ABS_QWORD },
{ "reloc-abs-word", WARN_IDX_RELOC_ABS_WORD },
{ "reloc-rel-byte", WARN_IDX_RELOC_REL_BYTE },
{ "reloc-rel-dword", WARN_IDX_RELOC_REL_DWORD },
{ "reloc-rel-qword", WARN_IDX_RELOC_REL_QWORD },
{ "reloc-rel-word", WARN_IDX_RELOC_REL_WORD },
{ "unknown-pragma", WARN_IDX_PRAGMA_UNKNOWN },
{ "unknown-warning", WARN_IDX_UNKNOWN_WARNING },
{ "user", WARN_IDX_USER },
{ "warn-stack-empty", WARN_IDX_WARN_STACK_EMPTY },
{ "zeroing", WARN_IDX_ZEROING },
{ "zext-reloc", WARN_IDX_ZEXT_RELOC }
};
const char * const warning_help[62] = {
NULL,
"no operand for data declaration",
"absolute address cannot be RIP-relative",
"displacement size ignored on absolute address",
"floating point denormal",
"floating point overflow",
"too many digits in floating-point number",
"floating point underflow",
"forward reference may have unpredictable results",
"labels alone on lines without trailing :",
"label redefined to an identical value",
"label (re)defined during code generation",
"numeric constant does not fit",
"instruction obsolete and is a noop on the target CPU",
"instruction obsolete and removed on the target CPU",
"instruction obsolete but valid on the target CPU",
"phase error during stabilization",
"%elif after %else",
"%else after %else",
"empty %{} construct",
"nonexistent environment variable",
"single-line macro defined both case sensitive and insensitive",
"single-line macro",
"single-line macro defined with and without parameters",
"macros with more default than optional parameters",
"improperly calling multi-line macro for legacy support",
"multi-line macro calls with wrong parameter count",
"single-line macro calls with wrong parameter count",
"redefining multi-line macro",
"unterminated %{...}",
"unterminated %[...]",
"unterminated string",
"regative %rep count",
"%sel() argument out of range",
"trailing garbage ignored",
"malformed %pragma",
"empty %pragma directive",
"%pragma not applicable to this compilation",
"unknown %pragma facility or directive",
"invalid BND prefix",
"invalid HLE prefix",
"LOCK prefix on unlockable instruction",
"superfluous LOCK prefix on XCHG instruction",
"invalid operand size prefix",
"segment prefix ignored in 64-bit mode",
"non-NASM keyword used in other assemblers",
"register size specification ignored",
"8-bit absolute section-crossing relocation",
"32-bit absolute section-crossing relocation",
"64-bit absolute section-crossing relocation",
"16-bit absolute section-crossing relocation",
"8-bit relative section-crossing relocation",
"32-bit relative section-crossing relocation",
"64-bit relative section-crossing relocation",
"16-bit relative section-crossing relocation",
"unknown warning in -W/-w or warning directive",
"%warning directives",
"warning stack empty",
"RESx in initialized section becomes zero",
"relocation zero-extended to match output format",
"any warning not specifically mentioned above",
"all possible warnings"
};
const uint8_t warning_default[61] = {
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_OFF,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_OFF,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_OFF,
WARN_INIT_ERR,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_OFF,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ERR,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_OFF,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON,
WARN_INIT_ON
};
uint8_t warning_state[61]; /* Current state */