From cd3418016a2ff6e6de2c4d1c36d9ed8c489eceb2 Mon Sep 17 00:00:00 2001 From: Charles Crayne Date: Wed, 4 Jun 2008 15:53:21 -0700 Subject: [PATCH] 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. --- labels.c | 2 +- parser.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/labels.c b/labels.c index 8376b795..068d758e 100644 --- a/labels.c +++ b/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); diff --git a/parser.c b/parser.c index 72cb1207..c188095d 100644 --- a/parser.c +++ b/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 -- 2.11.4.GIT