From a6219adc9b57e061e211a2cb1af70a1948e8cbce Mon Sep 17 00:00:00 2001 From: Dmitry-Me Date: Mon, 1 Sep 2014 12:52:27 +0400 Subject: [PATCH] Move cheap checks earlier to avoid more expensive ones --- lib/checkcondition.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/checkcondition.cpp b/lib/checkcondition.cpp index a131b3a01..3e3eb2656 100644 --- a/lib/checkcondition.cpp +++ b/lib/checkcondition.cpp @@ -87,15 +87,15 @@ bool CheckCondition::assignIfParseScope(const Token * const assignTok, bool ret = false; for (const Token *tok2 = startTok; tok2; tok2 = tok2->next()) { - if (Token::Match(tok2->tokAt(2), "%varid% %cop% %num% ;", varid) && tok2->strAt(3) == std::string(1U, bitop)) { + if ((bitop == '&') && Token::Match(tok2->tokAt(2), "%varid% %cop% %num% ;", varid) && tok2->strAt(3) == std::string(1U, bitop)) { const MathLib::bigint num2 = MathLib::toLongNumber(tok2->strAt(4)); - if ((bitop == '&') && (0 == (num & num2))) + if (0 == (num & num2)) mismatchingBitAndError(assignTok, num, tok2, num2); } if (Token::Match(tok2, "%varid% =", varid)) { - if (Token::Match(tok2->tokAt(2), "%varid% %cop% %num% ;", varid) && tok2->strAt(3) == std::string(1U, bitop)) { + if ((bitop == '&') && Token::Match(tok2->tokAt(2), "%varid% %cop% %num% ;", varid) && tok2->strAt(3) == std::string(1U, bitop)) { const MathLib::bigint num2 = MathLib::toLongNumber(tok2->strAt(4)); - if ((bitop == '&') && (0 == (num & num2))) + if (0 == (num & num2)) mismatchingBitAndError(assignTok, num, tok2, num2); } return true;