diff --git a/oscar64/GlobalOptimizer.cpp b/oscar64/GlobalOptimizer.cpp index 062a63d..3855974 100644 --- a/oscar64/GlobalOptimizer.cpp +++ b/oscar64/GlobalOptimizer.cpp @@ -645,7 +645,7 @@ Declaration* GlobalOptimizer::Analyze(Expression* exp, Declaration* procDec, uin if (flags & ANAFL_LHS) exp->mDecValue->mOptFlags |= OPTF_VAR_ADDRESS; - if (exp->mDecValue->mType == DT_ARGUMENT) + if (exp->mDecValue->mType == DT_ARGUMENT && (flags & ANAFL_LHS)) { exp->mDecValue->mOptFlags |= OPTF_VAR_NO_FORWARD; exp->mDecValue->mForwardParam = nullptr;