mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-31 18:20:22 +08:00
assemble.c: do not warn on valid SBYTE optimizations
Do not warn on valid SBYTE optimizations. If we are optimizing and match one of the SBYTE conditions, do not error out. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
ece980c38b
commit
6c80ab6f7f
12
assemble.c
12
assemble.c
@ -1255,12 +1255,16 @@ static void gencode(int32_t segment, int64_t offset, int bits,
|
||||
case 015:
|
||||
case 016:
|
||||
case 017:
|
||||
/* XXX: warns for legitimate optimizer actions */
|
||||
if (opx->offset < -128 || opx->offset > 127) {
|
||||
/* The test for BITS8 and SBYTE here is intended to avoid
|
||||
warning on optimizer actions due to SBYTE, while still
|
||||
warn on explicit BYTE directives. Also warn, obviously,
|
||||
if the optimizer isn't enabled. */
|
||||
if (((opx->type & BITS8) ||
|
||||
!(opx->type & (SBYTE16|SBYTE32|SBYTE64))) &&
|
||||
(opx->offset < -128 || opx->offset > 127)) {
|
||||
errfunc(ERR_WARNING | ERR_WARN_NOV,
|
||||
"signed byte value exceeds bounds");
|
||||
}
|
||||
|
||||
}
|
||||
if (opx->segment != NO_SEG) {
|
||||
data = opx->offset;
|
||||
out(offset, segment, &data, OUT_ADDRESS, 1,
|
||||
|
@ -25,6 +25,9 @@ since 2007.
|
||||
|
||||
\b Fix \c{%include} inside multi-line macros or loops.
|
||||
|
||||
\b Fix error where NASM would generate a spurious warning on valid
|
||||
optimizations of immediate values.
|
||||
|
||||
|
||||
\S{cl-2.04} Version 2.04
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user