diff --git a/src/cc65/expr.c b/src/cc65/expr.c index a562dfa76..d39c9ebb6 100644 --- a/src/cc65/expr.c +++ b/src/cc65/expr.c @@ -593,7 +593,7 @@ static void FunctionCall (ExprDesc* Expr) } /* Check for known standard functions and inline them */ - if (Expr->Name != 0) { + if (Expr->Name != 0 && !ED_IsUneval (Expr)) { int StdFunc = FindStdFunc ((const char*) Expr->Name); if (StdFunc >= 0) { /* Inline this function */ diff --git a/src/cc65/exprdesc.h b/src/cc65/exprdesc.h index 463828db6..810d68965 100644 --- a/src/cc65/exprdesc.h +++ b/src/cc65/exprdesc.h @@ -474,13 +474,13 @@ void ED_MarkForUneval (ExprDesc* Expr); /* Mark the expression as not to be evaluated */ #if defined(HAVE_INLINE) -INLINE int ED_MayBeUneval (const ExprDesc* Expr) -/* Check if the expression may be uevaluated */ +INLINE int ED_IsUneval (const ExprDesc* Expr) +/* Check if the expression is not to be evaluated */ { return (Expr->Flags & E_EVAL_UNEVAL) == E_EVAL_UNEVAL; } #else -# define ED_MayBeUneval(Expr) (((Expr)->Flags & E_EVAL_UNEVAL) == E_EVAL_UNEVAL) +# define ED_IsUneval(Expr) (((Expr)->Flags & E_EVAL_UNEVAL) == E_EVAL_UNEVAL) #endif #if defined(HAVE_INLINE)