don't write pointless TokFuncTerminators into the stream
we are transforming "magic" function calls into other structures. past that point it's wrong to keep the function argument list terminator in the token stream. this went unnoticed, because in this context it was equivalent with the expected value list terminator (which was simply never reached). Change-Id: I3dc6719273ce9d663db867f355eba682ba6ccf2c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
This commit is contained in:
parent
756d5502f9
commit
da1aaed059
@ -1014,10 +1014,12 @@ void QMakeParser::finalizeCall(ushort *&tokPtr, ushort *uc, ushort *ptr, int arg
|
||||
}
|
||||
flushCond(tokPtr);
|
||||
putLineMarker(tokPtr);
|
||||
--ptr;
|
||||
Q_ASSERT(*ptr == TokFuncTerminator);
|
||||
if (*uce == (TokLiteral|TokNewStr)) {
|
||||
nlen = uce[1];
|
||||
uc = uce + 2 + nlen;
|
||||
if (*uc == TokFuncTerminator) {
|
||||
if (uc == ptr) {
|
||||
// for(literal) (only "ever" would be legal if qmake was sane)
|
||||
putTok(tokPtr, TokForLoop);
|
||||
putHashStr(tokPtr, (ushort *)0, (uint)0);
|
||||
|
Loading…
Reference in New Issue
Block a user