Merge pull request #633 from Dmitry-Me/runCheaperChecksFirst

Run cheaper checks first
This commit is contained in:
PKEuS 2015-08-07 19:37:30 +02:00
commit f5eae166ac
1 changed files with 4 additions and 4 deletions

View File

@ -400,9 +400,9 @@ void CheckCondition::oppositeInnerCondition()
nonlocal |= (var && (!var->isLocal() || var->isStatic()) && !var->isArgument());
// TODO: if var is pointer check what it points at
nonlocal |= (var && (var->isPointer() || var->isReference()));
} else if (cond->isName()) {
} else if (!nonlocal && cond->isName()) {
// varid is 0. this is possibly a nonlocal variable..
nonlocal |= Token::Match(cond->astParent(), "%cop%|(");
nonlocal = Token::Match(cond->astParent(), "%cop%|(");
}
}
@ -429,8 +429,8 @@ void CheckCondition::oppositeInnerCondition()
if (Token::Match(tok->previous(), "++|--|& %name%"))
break;
if (tok->variable() &&
Token::Match(tok, "%name% . %name% (") &&
!tok->variable()->isConst()) {
!tok->variable()->isConst() &&
Token::Match(tok, "%name% . %name% (")) {
const Function* function = tok->tokAt(2)->function();
if (!function || !function->isConst())
break;