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:
Charles Crayne 2008-06-04 15:53:21 -07:00
parent 88c9e1f88c
commit cd3418016a
2 changed files with 2 additions and 2 deletions

View File

@ -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);

View File

@ -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