From fcedfddf00b3f994e4f4e40332ac7fc192c63244 Mon Sep 17 00:00:00 2001 From: polwex Date: Sun, 5 Oct 2025 21:56:51 +0700 Subject: claude is gud --- vere/ext/nasm/asm/warnings.c | 241 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 vere/ext/nasm/asm/warnings.c (limited to 'vere/ext/nasm/asm/warnings.c') diff --git a/vere/ext/nasm/asm/warnings.c b/vere/ext/nasm/asm/warnings.c new file mode 100644 index 0000000..f825e0c --- /dev/null +++ b/vere/ext/nasm/asm/warnings.c @@ -0,0 +1,241 @@ +#include "error.h" + +const char * const warning_name[53] = { + 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", + "prefix-opsize", + "prefix-seg", + "ptr", + "regsize", + "unknown-warning", + "user", + "warn-stack-empty", + "zeroing", + "zext-reloc", + "other", + "all" +}; + +const struct warning_alias warning_alias[68] = { + { "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 }, + { "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", WARN_IDX_PREFIX_LOCK }, + { "prefix-opsize", WARN_IDX_PREFIX_OPSIZE }, + { "prefix-seg", WARN_IDX_PREFIX_SEG }, + { "ptr", WARN_IDX_PTR }, + { "regsize", WARN_IDX_REGSIZE }, + { "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[53] = { + 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 instructions", + "invalid operand size prefix", + "segment prefix ignored in 64-bit mode", + "non-NASM keyword used in other assemblers", + "register size specification ignored", + "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[52] = { + 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_OFF, + WARN_INIT_ON, + WARN_INIT_ON, + WARN_INIT_ON, + WARN_INIT_ON, + WARN_INIT_ON +}; + +uint8_t warning_state[52]; /* Current state */ -- cgit v1.2.3