From 4389d1480dffd853006345588d228f2a0945f53b Mon Sep 17 00:00:00 2001 From: Spoike Date: Thu, 9 Dec 2004 23:45:57 +0000 Subject: [PATCH] I spotted some bugs git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@609 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/qclib/qcc_pr_comp.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/engine/qclib/qcc_pr_comp.c b/engine/qclib/qcc_pr_comp.c index 1a63852f..b0f67706 100644 --- a/engine/qclib/qcc_pr_comp.c +++ b/engine/qclib/qcc_pr_comp.c @@ -3765,10 +3765,12 @@ QCC_def_t *QCC_PR_Term (void) } else if (QCC_PR_Check ("*")) { - int st = numstatements; e = QCC_PR_Expression (NOT_PRIORITY); t = e->type->type; + if (t != ev_pointer) + QCC_PR_ParseError (ERR_BADNOTTYPE, "type mismatch for *"); + switch(e->type->aux_type->type) { case ev_float: @@ -3797,7 +3799,7 @@ QCC_def_t *QCC_PR_Term (void) break; default: - QCC_PR_ParseError (ERR_BADNOTTYPE, "type mismatch for *"); + QCC_PR_ParseError (ERR_BADNOTTYPE, "type mismatch for * (unrecognised type)"); break; } @@ -3808,7 +3810,7 @@ QCC_def_t *QCC_PR_Term (void) { e = QCC_PR_Expression (NOT_PRIORITY); - switch(e->type->aux_type->type) + switch(e->type->type) { case ev_float: e2 = QCC_PR_Statement (&pr_opcodes[OP_SUB_F], QCC_MakeFloatDef(0), e, NULL); @@ -3826,7 +3828,7 @@ QCC_def_t *QCC_PR_Term (void) { e = QCC_PR_Expression (NOT_PRIORITY); - switch(e->type->aux_type->type) + switch(e->type->type) { case ev_float: e2 = QCC_PR_Statement (&pr_opcodes[OP_ADD_F], QCC_MakeFloatDef(0), e, NULL);