mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-19 18:00:23 +08:00
Remove EQU for critical expression list
Allow redefine_label to update segment as well as offset, thereby fixing bug which required EQU to be on the critical expression list.
This commit is contained in:
parent
88c9e1f88c
commit
cd3418016a
2
labels.c
2
labels.c
@ -187,7 +187,6 @@ void redefine_label(char *label, int32_t segment, int64_t offset, char *special,
|
||||
* are even possible, nor whether they are checked somewhere else
|
||||
*/
|
||||
|
||||
(void)segment; /* Don't warn that this parameter is unused */
|
||||
(void)special; /* Don't warn that this parameter is unused */
|
||||
(void)is_norm; /* Don't warn that this parameter is unused */
|
||||
(void)isextrn; /* Don't warn that this parameter is unused */
|
||||
@ -212,6 +211,7 @@ void redefine_label(char *label, int32_t segment, int64_t offset, char *special,
|
||||
|
||||
global_offset_changed |= (lptr->defn.offset != offset);
|
||||
lptr->defn.offset = offset;
|
||||
lptr->defn.segment = segment;
|
||||
|
||||
if (pass0 == 1) {
|
||||
exi = !!(lptr->defn.is_global & GLOBAL_BIT);
|
||||
|
2
parser.c
2
parser.c
@ -322,7 +322,7 @@ restart_parse:
|
||||
result->opcode == I_RESD || result->opcode == I_RESQ ||
|
||||
result->opcode == I_REST || result->opcode == I_RESO ||
|
||||
result->opcode == I_RESY ||
|
||||
result->opcode == I_EQU || result->opcode == I_INCBIN) {
|
||||
result->opcode == I_INCBIN) {
|
||||
critical = (pass0 < 2 ? 1 : 2);
|
||||
|
||||
} else
|
||||
|
Loading…
x
Reference in New Issue
Block a user