Merge pull request #511 from Dmitry-Me/reorderChecks2

Reorder checks, move declaration
This commit is contained in:
PKEuS 2015-02-06 20:07:12 +01:00
commit 703114dd0d
1 changed files with 2 additions and 4 deletions

View File

@ -2300,9 +2300,6 @@ void Tokenizer::simplifyTemplates()
static bool setVarIdParseDeclaration(const Token **tok, const std::map<std::string,unsigned int> &variableId, bool executableScope, bool cpp, bool c)
{
const Token *tok2 = *tok;
bool ref = false;
if (!tok2->isName())
return false;
@ -2310,6 +2307,7 @@ static bool setVarIdParseDeclaration(const Token **tok, const std::map<std::stri
unsigned int singleNameCount = 0;
bool hasstruct = false; // Is there a "struct" or "class"?
bool bracket = false;
bool ref = false;
while (tok2) {
if (tok2->isName()) {
if (cpp && Token::Match(tok2, "namespace|public|private|protected"))
@ -2363,7 +2361,7 @@ static bool setVarIdParseDeclaration(const Token **tok, const std::map<std::stri
// Check if array declaration is valid (#2638)
// invalid declaration: AAA a[4] = 0;
if (typeCount >= 2 && tok2 && tok2->str() == "[" && executableScope) {
if (typeCount >= 2 && executableScope && tok2 && tok2->str() == "[") {
const Token *tok3 = tok2;
while (tok3 && tok3->str() == "[") {
tok3 = tok3->link()->next();