mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-26 22:01:50 +00:00
Fixed bug causing parameter conflict in statements like func(array[idx], func2(blah))
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3043 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
600f27876c
commit
0629d013b5
1 changed files with 4 additions and 2 deletions
|
@ -2867,7 +2867,7 @@ QCC_def_t *QCC_PR_ParseFunctionCall (QCC_def_t *func) //warning, the func could
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strchr(func->name, ':') && laststatement && statements[laststatement-1].op == OP_LOAD_FNC && statements[laststatement-1].c == func->ofs)
|
if (strchr(func->name, ':') && laststatement && statements[laststatement-1].op == OP_LOAD_FNC && statements[laststatement-1].c == func->ofs)
|
||||||
{ //we're entering C++ code with a different self.
|
{ //we're entering OO code with a different self.
|
||||||
|
|
||||||
//FIXME: problems could occur with hexen2 calling conventions when parm0/1 is 'self'
|
//FIXME: problems could occur with hexen2 calling conventions when parm0/1 is 'self'
|
||||||
//thiscall. copy the right ent into 'self' (if it's not the same offset)
|
//thiscall. copy the right ent into 'self' (if it's not the same offset)
|
||||||
|
@ -3620,6 +3620,7 @@ reloop:
|
||||||
qcc_usefulstatement = true;
|
qcc_usefulstatement = true;
|
||||||
|
|
||||||
nd = &def_ret;
|
nd = &def_ret;
|
||||||
|
def_ret.temp->used = true;
|
||||||
d=nd;
|
d=nd;
|
||||||
d->type = newtype;
|
d->type = newtype;
|
||||||
return d;
|
return d;
|
||||||
|
@ -3695,6 +3696,7 @@ reloop:
|
||||||
}
|
}
|
||||||
|
|
||||||
nd = &def_ret;
|
nd = &def_ret;
|
||||||
|
def_ret.temp->used = true;
|
||||||
d=nd;
|
d=nd;
|
||||||
d->type = newtype;
|
d->type = newtype;
|
||||||
return d;
|
return d;
|
||||||
|
|
Loading…
Reference in a new issue