mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-07-24 10:25:42 -04:00
Allow %warning output to be suppressed
Allow the user to suppress user-specified warnings. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
2d5baaa69a
commit
2f16043879
@ -13,6 +13,9 @@ since 2007.
|
|||||||
\b Make the behaviour of \c{-O0} match NASM 0.98 legacy behavior.
|
\b Make the behaviour of \c{-O0} match NASM 0.98 legacy behavior.
|
||||||
See \k{opt-O}.
|
See \k{opt-O}.
|
||||||
|
|
||||||
|
\b \c{-w-user} can be used to suppress the output of \c{%warning} directives.
|
||||||
|
See \k{opt-w}.
|
||||||
|
|
||||||
|
|
||||||
\S{cl-2.04} Version 2.04
|
\S{cl-2.04} Version 2.04
|
||||||
|
|
||||||
|
@ -889,6 +889,9 @@ Disabled by default.
|
|||||||
\b \i\c{float-toolong} warns about too many digits in floating-point numbers.
|
\b \i\c{float-toolong} warns about too many digits in floating-point numbers.
|
||||||
Enabled by default.
|
Enabled by default.
|
||||||
|
|
||||||
|
\b \i\c{user} controls \c{%warning} directives (see \k{pperror}).
|
||||||
|
Enabled by default.
|
||||||
|
|
||||||
In addition, you can set warning classes across sections.
|
In addition, you can set warning classes across sections.
|
||||||
Warning classes may be enabled with \i\c{[warning +warning-name]},
|
Warning classes may be enabled with \i\c{[warning +warning-name]},
|
||||||
disabled with \i\c{[warning -warning-name]} or reset to their
|
disabled with \i\c{[warning -warning-name]} or reset to their
|
||||||
|
9
nasm.c
9
nasm.c
@ -107,7 +107,8 @@ static const char *depend_file = NULL;
|
|||||||
static bool suppressed[ERR_WARN_MAX+1];
|
static bool suppressed[ERR_WARN_MAX+1];
|
||||||
|
|
||||||
static bool suppressed_global[ERR_WARN_MAX+1] = {
|
static bool suppressed_global[ERR_WARN_MAX+1] = {
|
||||||
true, false, true, false, false, false, true, false, true, true, false
|
true, false, true, false, false, false, true, false, true, true, false,
|
||||||
|
true
|
||||||
};
|
};
|
||||||
/*
|
/*
|
||||||
* The option names for the suppressible warnings. As before, entry
|
* The option names for the suppressible warnings. As before, entry
|
||||||
@ -116,7 +117,8 @@ static bool suppressed_global[ERR_WARN_MAX+1] = {
|
|||||||
static const char *suppressed_names[ERR_WARN_MAX+1] = {
|
static const char *suppressed_names[ERR_WARN_MAX+1] = {
|
||||||
"error", "macro-params", "macro-selfref", "macro-defaults",
|
"error", "macro-params", "macro-selfref", "macro-defaults",
|
||||||
"orphan-labels", "number-overflow", "gnu-elf-extensions",
|
"orphan-labels", "number-overflow", "gnu-elf-extensions",
|
||||||
"float-overflow", "float-denorm", "float-underflow", "float-toolong"
|
"float-overflow", "float-denorm", "float-underflow", "float-toolong",
|
||||||
|
"user"
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -134,7 +136,8 @@ static const char *suppressed_what[ERR_WARN_MAX+1] = {
|
|||||||
"floating point overflow",
|
"floating point overflow",
|
||||||
"floating point denormal",
|
"floating point denormal",
|
||||||
"floating point underflow",
|
"floating point underflow",
|
||||||
"too many digits in floating-point number"
|
"too many digits in floating-point number",
|
||||||
|
"%warning directives"
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -93,7 +93,8 @@ extern efunc nasm_malloc_error;
|
|||||||
#define ERR_WARN_FL_DENORM WARN( 8) /* FP denormal */
|
#define ERR_WARN_FL_DENORM WARN( 8) /* FP denormal */
|
||||||
#define ERR_WARN_FL_UNDERFLOW WARN( 9) /* FP underflow */
|
#define ERR_WARN_FL_UNDERFLOW WARN( 9) /* FP underflow */
|
||||||
#define ERR_WARN_FL_TOOLONG WARN(10) /* FP too many digits */
|
#define ERR_WARN_FL_TOOLONG WARN(10) /* FP too many digits */
|
||||||
#define ERR_WARN_MAX 10 /* the highest numbered one */
|
#define ERR_WARN_USER WARN(11) /* %warning directives */
|
||||||
|
#define ERR_WARN_MAX 11 /* the highest numbered one */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Wrappers around malloc, realloc and free. nasm_malloc will
|
* Wrappers around malloc, realloc and free. nasm_malloc will
|
||||||
|
@ -2377,7 +2377,7 @@ static int do_directive(Token * tline)
|
|||||||
severity = ERR_NONFATAL|ERR_NO_SEVERITY;
|
severity = ERR_NONFATAL|ERR_NO_SEVERITY;
|
||||||
goto issue_error;
|
goto issue_error;
|
||||||
case PP_WARNING:
|
case PP_WARNING:
|
||||||
severity = ERR_WARNING|ERR_NO_SEVERITY;
|
severity = ERR_WARNING|ERR_NO_SEVERITY|ERR_WARN_USER;
|
||||||
goto issue_error;
|
goto issue_error;
|
||||||
|
|
||||||
issue_error:
|
issue_error:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user