0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-09-22 10:43:39 -04:00

doc: formatting fixes to the warnings documentation

Formatting and language consistency cleanups to the sections about
disabling and enabling warning classes.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
H. Peter Anvin
2017-04-20 02:03:59 -07:00
parent c2f371c0b9
commit 32b9824f5c

View File

@@ -791,31 +791,30 @@ disable it by \c{-w-orphan-labels}.
The current \i{warning classes} are: The current \i{warning classes} are:
\b \i\c{other} specifies any warning not otherwise specified in any \b \i\c{other} specifies any warning not otherwise specified in any
class. class. Enabled by default.
\b \i\c{macro-params} covers warnings about \i{multi-line macros} \b \i\c{macro-params} covers warnings about \i{multi-line macros}
being invoked with the wrong number of parameters. This warning being invoked with the wrong number of parameters. Enabled by default;
class is enabled by default; see \k{mlmacover} for an example of why see \k{mlmacover} for an example of why you might want to disable it.
\b \i\c{macro-selfref} warns if a macro references itself. Disabled by
default.
\b \i\c{macro-defaults} warns when a macro has more default parameters
than optional parameters. Enabled by default; see \k{mlmacdef} for why
you might want to disable it. you might want to disable it.
\b \i\c{macro-selfref} warns if a macro references itself. This
warning class is disabled by default.
\b\i\c{macro-defaults} warns when a macro has more default
parameters than optional parameters. This warning class
is enabled by default; see \k{mlmacdef} for why you might want to disable it.
\b \i\c{orphan-labels} covers warnings about source lines which \b \i\c{orphan-labels} covers warnings about source lines which
contain no instruction but define a label without a trailing colon. contain no instruction but define a label without a trailing colon.
NASM warns about this somewhat obscure condition by default; NASM warns about this somewhat obscure condition by default;
see \k{syntax} for more information. see \k{syntax} for more information.
\b \i\c{number-overflow} covers warnings about numeric constants which \b \i\c{number-overflow} covers warnings about numeric constants which
don't fit in 64 bits. This warning class is enabled by default. don't fit in 64 bits. Enabled by default.
\b \i\c{gnu-elf-extensions} warns if 8-bit or 16-bit relocations \b \i\c{gnu-elf-extensions} warns if 8-bit or 16-bit relocations
are used in \c{-f elf} format. The GNU extensions allow this. are used in \c{-f elf} format. The GNU extensions allow this.
This warning class is disabled by default. Disabled by default.
\b \i\c{float-overflow} warns about floating point overflow. \b \i\c{float-overflow} warns about floating point overflow.
Enabled by default. Enabled by default.
@@ -844,11 +843,11 @@ form of jmp instruction becomes jmp short form.
Enabled by default. Enabled by default.
\b \i\c{zext-reloc} warns that a relocation has been zero-extended due \b \i\c{zext-reloc} warns that a relocation has been zero-extended due
to limitations in the output format. to limitations in the output format. Enabled by default.
\b \i\c\{ptr} warns about keywords used in other assemblers that might \b \i\c\{ptr} warns about keywords used in other assemblers that might
indicate a mistake in the source code. Currently only the MASM indicate a mistake in the source code. Currently only the MASM
\c{PTR} keyword is recognized. \c{PTR} keyword is recognized. Enabled by default.
\b \i\c{bad-pragma} warns about a malformed or otherwise unparsable \b \i\c{bad-pragma} warns about a malformed or otherwise unparsable
\c{%pragma} directive. Disabled by default. \c{%pragma} directive. Disabled by default.
@@ -862,22 +861,24 @@ implemented. Disabled by default.
\b \i\c{unknown-warning} warns about a \c{-w} or \c{-W} option or a \b \i\c{unknown-warning} warns about a \c{-w} or \c{-W} option or a
\c{[WARNING]} directive that contains an unknown warning name or is \c{[WARNING]} directive that contains an unknown warning name or is
otherwise not possible to process. otherwise not possible to process. Disabled by default.
\b \i\c{all} is an alias for \e{all} suppressible warning classes. \b \i\c{all} is an alias for \e{all} suppressible warning classes.
Thus, \c{-w+all} enables all available warnings, and \c{-w-all} Thus, \c{-w+all} enables all available warnings, and \c{-w-all}
disables warnings entirely (since NASM 2.13). disables warnings entirely (since NASM 2.13).
Since version 2.00, NASM has also supported the gcc-like syntax Since version 2.00, NASM has also supported the \c{gcc}-like syntax
\c{-Wwarning-class} and \c{-Wno-warning-class} instead of \c{-Wwarning-class} and \c{-Wno-warning-class} instead of
\c{-w+warning-class} and \c{-w-warning-class}, respectively; both \c{-w+warning-class} and \c{-w-warning-class}, respectively; both
syntaxes work identically. syntaxes work identically.
The option \c{-w+error} or \i\c{-Werror} can be used to treat warnings The option \c{-w+error} or \i\c{-Werror} can be used to treat warnings
as errors. This can be controlled on a per warning class basis as errors. This can be controlled on a per warning class basis
(\c{-w+error=}\e{warning-class}); if no \e{warning-class} is specified (\c{-w+error=}\e{warning-class} or \c{-Werror=}\e{warning-class});
NASM treats it as \c{-w+error=all}; the same applies to \c{-w-error} if no \e{warning-class} is specified NASM treats it as
or \i\c{-Wno-error}, of course. \c{-w+error=all}; the same applies to \c{-w-error} or
\i\c{-Wno-error},
of course.
In addition, you can control warnings in the source code itself, using In addition, you can control warnings in the source code itself, using
the \i\c{[WARNING]} directive. See \k{asmdir-warning}. the \i\c{[WARNING]} directive. See \k{asmdir-warning}.
@@ -4678,9 +4679,15 @@ The \c{[WARNING]} directive can be used to enable or disable classes
of warnings in the same way as the \c{-w} option, see \k{opt-w} for of warnings in the same way as the \c{-w} option, see \k{opt-w} for
more details about warning classes. more details about warning classes.
Warning classes may be enabled with \c{[warning +]\e{warning-class}\c{]}, disabled \b \c{[warning +}\e{warning-class}\c{]} enables warnings for
with \c{[warning -}\e{warning-class}\c{]}, or reset to their original value (as \e{warning-class}.
specified on the command line) with \c{[warning *}\e{warning-class}{]}.
\b \c{[warning -}\e{warning-class}\c{]} disables warnings for
\e{warning-class}.
\b \c{[warning *}\e{warning-class}\c{]} restores \e{warning-class} to
the original value, either the default value or as specified on the
command line.
The \c{[WARNING]} directive also accepts the \c{all}, \c{error} and The \c{[WARNING]} directive also accepts the \c{all}, \c{error} and
\c{error=}\e{warning-class} specifiers. \c{error=}\e{warning-class} specifiers.