From fd96c51c5bd0ac1d7607a65fb5784842315780f6 Mon Sep 17 00:00:00 2001 From: Spoike Date: Thu, 26 Aug 2004 07:00:38 +0000 Subject: [PATCH] trying to fix an optimisation bug... does this fix it properly? git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@46 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/qclib/qcc_pr_comp.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/engine/qclib/qcc_pr_comp.c b/engine/qclib/qcc_pr_comp.c index 8d6a8c078..3c587276e 100644 --- a/engine/qclib/qcc_pr_comp.c +++ b/engine/qclib/qcc_pr_comp.c @@ -3804,10 +3804,11 @@ QCC_def_t *QCC_PR_Expression (int priority) if (op->priority == 7 && opt_logicops) { optres_logicops++; - if (*op->name == '&') - QCC_PR_Statement(&pr_opcodes[OP_IFNOT], e, NULL, &st); + st = &statements[numstatements]; + if (*op->name == '&') //statement 3 because we don't want to optimise this into if from not ifnot + QCC_PR_Statement3(&pr_opcodes[OP_IFNOT], e, NULL, NULL); else - QCC_PR_Statement(&pr_opcodes[OP_IF], e, NULL, &st); + QCC_PR_Statement3(&pr_opcodes[OP_IF], e, NULL, NULL); } e2 = QCC_PR_Expression (priority-1);