From 3fb0c660dce131816e176c387f698dad4dc334ea Mon Sep 17 00:00:00 2001 From: uz Date: Tue, 24 Nov 2009 22:56:56 +0000 Subject: [PATCH] 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 --- src/cc65/exprdesc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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); -- 2.39.5