Bug 585, assignment to multiple l-values.
Disambiguate multiple-values from function invocation. Will merge to release branch after testing.
This commit is contained in:
parent
3cb2241b1d
commit
c7a5d15e7a
@ -550,7 +550,10 @@ static void genAssign(struct Parser* p, struct Token* t)
|
||||
if(parListLen(lv) || (lv->type == TOK_VAR && parListLen(RIGHT(lv)))) {
|
||||
if(lv->type == TOK_VAR) { lv = RIGHT(lv); var = 1; }
|
||||
len = parListLen(lv);
|
||||
if(rv->type == TOK_LPAR) {
|
||||
// http://code.google.com/p/flightgear-bugs/issues/detail?id=585
|
||||
// TOK_LPAR can mean multi-value assignment or function call,
|
||||
// disambigaute by checking the rule of the token
|
||||
if(rv->type == TOK_LPAR && rv->rule != PREC_SUFFIX) {
|
||||
if(len != parListLen(rv))
|
||||
naParseError(p, "bad assignment count", rv->line);
|
||||
genCommaList(p, LEFT(rv));
|
||||
|
Loading…
Reference in New Issue
Block a user