From 9c9a7d9647b279bf1c58b000f700548902280e6c Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 3 Jul 2015 19:44:32 +0300 Subject: Remove all variables from knownVars if both branches in if returned. --- src/analysis/statement.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/analysis/statement.cpp b/src/analysis/statement.cpp index 71b5227..ec9ec7f 100644 --- a/src/analysis/statement.cpp +++ b/src/analysis/statement.cpp @@ -179,9 +179,11 @@ void analyseCondition(Node *node, if (wo2.isReturned && wo3.isReturned) { // add variable for ignore for all parent nodes except special like IF_STMT - FOR_EACH (it, wo.needCheckNullVars) + FOR_EACH (it, wo.knownVars) { wo.removeNullVarsAll.insert(it); + wo.knownNullVars.erase(it); + wo.knownNonNullVars.erase(it); } } -- cgit v1.2.3-70-g09d2