| #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 */ |