From 5957a8e01ba46c948e302e36a2652bd52fafd1f8 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 5 Sep 2012 21:26:28 +0200 Subject: update size calculations for assignment statements this was forgotten when the value lists were extended by a size hint. Change-Id: I6f9b55ed671224a9b8735c8d937f94aac4a73a42 Reviewed-by: Daniel Teske (cherry picked from qtcreator/f24c9865306624c2fc150d4bd262a5c4d5a3689a) Reviewed-by: Joerg Bornemann --- qmake/library/proitems.h | 1 + qmake/library/qmakeparser.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'qmake/library') diff --git a/qmake/library/proitems.h b/qmake/library/proitems.h index cd7af34108..13693837b9 100644 --- a/qmake/library/proitems.h +++ b/qmake/library/proitems.h @@ -275,6 +275,7 @@ enum ProToken { TokRemove, // variable -= TokReplace, // variable ~= // previous literal/expansion is a variable manipulation + // - lower bound for expected output length (1) // - value expression + TokValueTerminator TokValueTerminator, // assignment value terminator TokLiteral, // literal string (fully dequoted) diff --git a/qmake/library/qmakeparser.cpp b/qmake/library/qmakeparser.cpp index 557a779717..49b5429130 100644 --- a/qmake/library/qmakeparser.cpp +++ b/qmake/library/qmakeparser.cpp @@ -298,12 +298,12 @@ bool QMakeParser::read(ProFile *pro, const QString &in, int line, SubGrammar gra // Worst-case size calculations: // - line marker adds 1 (2-nl) to 1st token of each line // - empty assignment "A=":2 => - // TokHashLiteral(1) + hash(2) + len(1) + "A"(1) + TokAssign(1) + - // TokValueTerminator(1) == 7 (8) + // TokHashLiteral(1) + hash(2) + len(1) + "A"(1) + TokAssign(1) + 0(1) + + // TokValueTerminator(1) == 8 (9) // - non-empty assignment "A=B C":5 => - // TokHashLiteral(1) + hash(2) + len(1) + "A"(1) + TokAssign(1) + + // TokHashLiteral(1) + hash(2) + len(1) + "A"(1) + TokAssign(1) + 2(1) + // TokLiteral(1) + len(1) + "B"(1) + - // TokLiteral(1) + len(1) + "C"(1) + TokValueTerminator(1) == 13 (14) + // TokLiteral(1) + len(1) + "C"(1) + TokValueTerminator(1) == 14 (15) // - variable expansion: "$$f":3 => // TokVariable(1) + hash(2) + len(1) + "f"(1) = 5 // - function expansion: "$$f()":5 => -- cgit v1.2.3