From: uz Date: Tue, 24 Nov 2009 22:56:56 +0000 (+0000) Subject: Fix a problem with error handling: The E_HAVE_MARKS flag must not be removed X-Git-Tag: V2.13.1~47 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3fb0c660dce131816e176c387f698dad4dc334ea;p=cc65 Fix a problem with error handling: The E_HAVE_MARKS flag must not be removed from an expression in case of an error. git-svn-id: svn://svn.cc65.org/cc65/trunk@4482 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/src/cc65/exprdesc.c b/src/cc65/exprdesc.c index 7881f3524..1bde63abf 100644 --- a/src/cc65/exprdesc.c +++ b/src/cc65/exprdesc.c @@ -172,7 +172,7 @@ ExprDesc* ED_MakeConstAbs (ExprDesc* Expr, long Value, Type* Type) { Expr->Sym = 0; Expr->Type = Type; - Expr->Flags = E_LOC_ABS | E_RTYPE_RVAL; + Expr->Flags = E_LOC_ABS | E_RTYPE_RVAL | (Expr->Flags & E_HAVE_MARKS); Expr->Name = 0; Expr->IVal = Value; Expr->FVal = FP_D_Make (0.0); @@ -186,7 +186,7 @@ ExprDesc* ED_MakeConstAbsInt (ExprDesc* Expr, long Value) { Expr->Sym = 0; Expr->Type = type_int; - Expr->Flags = E_LOC_ABS | E_RTYPE_RVAL; + Expr->Flags = E_LOC_ABS | E_RTYPE_RVAL | (Expr->Flags & E_HAVE_MARKS); Expr->Name = 0; Expr->IVal = Value; Expr->FVal = FP_D_Make (0.0);