From 7ce8a329ec1f4d43018b97edee3e1a502a1dafb5 Mon Sep 17 00:00:00 2001 From: Spoike Date: Mon, 8 Jun 2015 08:07:42 +0000 Subject: [PATCH] fix call nesting issue with -TFTE git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4891 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/qclib/qcc_pr_comp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engine/qclib/qcc_pr_comp.c b/engine/qclib/qcc_pr_comp.c index 1b12ee9be..a52fb112f 100644 --- a/engine/qclib/qcc_pr_comp.c +++ b/engine/qclib/qcc_pr_comp.c @@ -4493,6 +4493,8 @@ QCC_sref_t QCC_PR_GenerateFunctionCall (QCC_sref_t newself, QCC_sref_t func, QCC QCC_FreeTemp(QCC_PR_StatementFlags (&pr_opcodes[OP_STORE_F], QCC_MakeFloatConst(argcount), va_passcount, NULL, 0)); } + QCC_ClobberDef(&def_ret); + /*can free temps used for arguments now*/ if (callconvention == OP_CALL1H) { @@ -4500,7 +4502,6 @@ QCC_sref_t QCC_PR_GenerateFunctionCall (QCC_sref_t newself, QCC_sref_t func, QCC QCC_FreeTemp(arglist[i]); } - QCC_ClobberDef(&def_ret); //we dont need to lock the local containing the function index because its thrown away after the call anyway //(if a function is called in the argument list then it'll be locked as part of that call) QCC_LockActiveTemps(func); //any temps before are likly to be used with the return value.