diff --git a/src/asm/rpn.c b/src/asm/rpn.c index e7c7f9e7..a30cbdac 100644 --- a/src/asm/rpn.c +++ b/src/asm/rpn.c @@ -149,14 +149,11 @@ void rpn_Bank(struct Expression * expr, char *tzSym) { if (!sym_isConstant(tzSym)) { - struct sSymbol *psym; - rpn_Reset(expr); - psym = sym_FindSymbol(tzSym); - if (nPass == 2 && psym == NULL) { - yyerror("'%s' not defined", tzSym); - } + /* Check that the symbol exists by evaluating and discarding the value. */ + sym_GetValue(tzSym); + expr->isReloc = 1; pushbyte(expr, RPN_BANK); while (*tzSym)