12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #ifndef NASM_WARNINGS_H
- #define NASM_WARNINGS_H
- #ifndef WARN_SHR
- # error "warnings.h should only be included from within error.h"
- #endif
- enum warn_index {
- WARN_IDX_NONE = 0, /* not suppressible */
- WARN_IDX_BND = 1, /* invalid BND prefixes */
- WARN_IDX_DB_EMPTY = 2, /* no operand for data declaration */
- WARN_IDX_ENVIRONMENT = 3, /* nonexistent environment variable */
- WARN_IDX_FLOAT_DENORM = 4, /* floating point denormal */
- WARN_IDX_FLOAT_OVERFLOW = 5, /* floating point overflow */
- WARN_IDX_FLOAT_TOOLONG = 6, /* too many digits in floating-point number */
- WARN_IDX_FLOAT_UNDERFLOW = 7, /* floating point underflow */
- WARN_IDX_HLE = 8, /* invalid HLE prefixes */
- WARN_IDX_LABEL_ORPHAN = 9, /* labels alone on lines without trailing `:' */
- WARN_IDX_LABEL_REDEF = 10, /* label redefined to an identical value */
- WARN_IDX_LABEL_REDEF_LATE = 11, /* label (re)defined during code generation */
- WARN_IDX_LOCK = 12, /* LOCK prefix on unlockable instructions */
- WARN_IDX_MACRO_DEFAULTS = 13, /* macros with more default than optional parameters */
- WARN_IDX_MACRO_PARAMS_LEGACY = 14, /* improperly calling multi-line macro for legacy support */
- WARN_IDX_MACRO_PARAMS_MULTI = 15, /* multi-line macro calls with wrong parameter count */
- WARN_IDX_MACRO_PARAMS_SINGLE = 16, /* single-line macro calls with wrong parameter count */
- WARN_IDX_NEGATIVE_REP = 17, /* regative %rep count */
- WARN_IDX_NUMBER_OVERFLOW = 18, /* numeric constant does not fit */
- WARN_IDX_OBSOLETE_NOP = 19, /* instruction obsolete and is a noop on the target CPU */
- WARN_IDX_OBSOLETE_REMOVED = 20, /* instruction obsolete and removed on the target CPU */
- WARN_IDX_OBSOLETE_VALID = 21, /* instruction obsolete but valid on the target CPU */
- WARN_IDX_PHASE = 22, /* phase error during stabilization */
- WARN_IDX_PRAGMA_BAD = 23, /* malformed %pragma */
- WARN_IDX_PRAGMA_EMPTY = 24, /* empty %pragma directive */
- WARN_IDX_PRAGMA_NA = 25, /* %pragma not applicable to this compilation */
- WARN_IDX_PRAGMA_UNKNOWN = 26, /* unknown %pragma facility or directive */
- WARN_IDX_PTR = 27, /* non-NASM keyword used in other assemblers */
- WARN_IDX_REGSIZE = 28, /* register size specification ignored */
- WARN_IDX_UNKNOWN_WARNING = 29, /* unknown warning in -W/-w or warning directive */
- WARN_IDX_USER = 30, /* %warning directives */
- WARN_IDX_WARN_STACK_EMPTY = 31, /* warning stack empty */
- WARN_IDX_ZEROING = 32, /* RESx in initialized section becomes zero */
- WARN_IDX_ZEXT_RELOC = 33, /* relocation zero-extended to match output format */
- WARN_IDX_OTHER = 34, /* any warning not specifially mentioned above */
- WARN_IDX_ALL = 35 /* all possible warnings */
- };
- enum warn_const {
- WARN_NONE = 0 << WARN_SHR,
- WARN_BND = 1 << WARN_SHR,
- WARN_DB_EMPTY = 2 << WARN_SHR,
- WARN_ENVIRONMENT = 3 << WARN_SHR,
- WARN_FLOAT_DENORM = 4 << WARN_SHR,
- WARN_FLOAT_OVERFLOW = 5 << WARN_SHR,
- WARN_FLOAT_TOOLONG = 6 << WARN_SHR,
- WARN_FLOAT_UNDERFLOW = 7 << WARN_SHR,
- WARN_HLE = 8 << WARN_SHR,
- WARN_LABEL_ORPHAN = 9 << WARN_SHR,
- WARN_LABEL_REDEF = 10 << WARN_SHR,
- WARN_LABEL_REDEF_LATE = 11 << WARN_SHR,
- WARN_LOCK = 12 << WARN_SHR,
- WARN_MACRO_DEFAULTS = 13 << WARN_SHR,
- WARN_MACRO_PARAMS_LEGACY = 14 << WARN_SHR,
- WARN_MACRO_PARAMS_MULTI = 15 << WARN_SHR,
- WARN_MACRO_PARAMS_SINGLE = 16 << WARN_SHR,
- WARN_NEGATIVE_REP = 17 << WARN_SHR,
- WARN_NUMBER_OVERFLOW = 18 << WARN_SHR,
- WARN_OBSOLETE_NOP = 19 << WARN_SHR,
- WARN_OBSOLETE_REMOVED = 20 << WARN_SHR,
- WARN_OBSOLETE_VALID = 21 << WARN_SHR,
- WARN_PHASE = 22 << WARN_SHR,
- WARN_PRAGMA_BAD = 23 << WARN_SHR,
- WARN_PRAGMA_EMPTY = 24 << WARN_SHR,
- WARN_PRAGMA_NA = 25 << WARN_SHR,
- WARN_PRAGMA_UNKNOWN = 26 << WARN_SHR,
- WARN_PTR = 27 << WARN_SHR,
- WARN_REGSIZE = 28 << WARN_SHR,
- WARN_UNKNOWN_WARNING = 29 << WARN_SHR,
- WARN_USER = 30 << WARN_SHR,
- WARN_WARN_STACK_EMPTY = 31 << WARN_SHR,
- WARN_ZEROING = 32 << WARN_SHR,
- WARN_ZEXT_RELOC = 33 << WARN_SHR,
- WARN_OTHER = 34 << WARN_SHR
- };
- struct warning_alias {
- const char *name;
- enum warn_index warning;
- };
- #define NUM_WARNING_ALIAS 39
- extern const char * const warning_name[36];
- extern const char * const warning_help[36];
- extern const struct warning_alias warning_alias[NUM_WARNING_ALIAS];
- extern const uint8_t warning_default[35];
- extern uint8_t warning_state[35];
- #endif /* NASM_WARNINGS_H */
|