| 161 | |
| 162 | |
| 163 | void CheckLeakAutoVarImpl::check() |
| 164 | { |
| 165 | if (mSettings.clang) |
| 166 | return; |
| 167 | |
| 168 | logChecker("CheckLeakAutoVar::check"); // notclang |
| 169 | |
| 170 | const SymbolDatabase *symbolDatabase = mTokenizer->getSymbolDatabase(); |
| 171 | |
| 172 | // Local variables that are known to be non-zero. |
| 173 | const std::set<int> notzero; |
| 174 | |
| 175 | // Check function scopes |
| 176 | for (const Scope * scope : symbolDatabase->functionScopes) { |
| 177 | if (scope->hasInlineOrLambdaFunction()) |
| 178 | continue; |
| 179 | |
| 180 | // Empty variable info |
| 181 | VarInfo varInfo; |
| 182 | |
| 183 | checkScope(scope->bodyStart, varInfo, notzero, 0); |
| 184 | } |
| 185 | } |
| 186 | |
| 187 | static bool isVarUsedInTree(const Token *tok, nonneg int varid) |
| 188 | { |
no test coverage detected