And don't forget +=/-= with vectors.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2496 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
3671902d06
commit
cced0039c3
1 changed files with 12 additions and 3 deletions
|
@ -1686,16 +1686,25 @@ QCC_def_t *QCC_PR_Statement ( QCC_opcode_t *op, QCC_def_t *var_a, QCC_def_t *var
|
||||||
if (statements[st].op == OP_ADDRESS)
|
if (statements[st].op == OP_ADDRESS)
|
||||||
if (statements[st].c == var_b->ofs)
|
if (statements[st].c == var_b->ofs)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
if (statements[st].c == var_b->ofs)
|
||||||
|
QCC_PR_ParseWarning(0, "Temp-reuse may have broken your %s", op->name);
|
||||||
}
|
}
|
||||||
if (st < 0)
|
if (st < 0)
|
||||||
QCC_PR_ParseError(ERR_INTERNAL, "XSTOREP_V couldn't find pointer generation");
|
QCC_PR_ParseError(ERR_INTERNAL, "XSTOREP_V couldn't find pointer generation");
|
||||||
var_c = QCC_GetTemp(*op->type_c);
|
var_c = QCC_GetTemp(*op->type_c);
|
||||||
|
|
||||||
statement_linenums[statement-statements] = pr_source_line;
|
statement_linenums[statement-statements] = statement_linenums[st];
|
||||||
statement->op = OP_LOAD_V;
|
statement->op = OP_ADDRESS;
|
||||||
statement->a = statements[st].a;
|
statement->a = statements[st].a;
|
||||||
statement->b = statements[st].b;
|
statement->b = statements[st].b;
|
||||||
statement->c = var_c ? var_c->ofs : 0;
|
statement->c = statements[st].c;
|
||||||
|
|
||||||
|
statement_linenums[st] = pr_source_line;
|
||||||
|
statements[st].op = OP_LOAD_V;
|
||||||
|
statements[st].a = statements[st].a;
|
||||||
|
statements[st].b = statements[st].b;
|
||||||
|
statements[st].c = var_c->ofs;
|
||||||
}
|
}
|
||||||
|
|
||||||
statement = &statements[numstatements];
|
statement = &statements[numstatements];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue