Fixed typedef simplification for array of function pointers
This commit is contained in:
parent
9ccf068393
commit
98be091d80
|
@ -1313,7 +1313,7 @@ void Tokenizer::simplifyTypedef()
|
||||||
if (funcStart && funcEnd) {
|
if (funcStart && funcEnd) {
|
||||||
tok2->insertToken("(");
|
tok2->insertToken("(");
|
||||||
tok2 = tok2->next();
|
tok2 = tok2->next();
|
||||||
Token *tok3 = tok2;
|
Token *paren = tok2;
|
||||||
tok2 = TokenList::copyTokens(tok2, funcStart, funcEnd);
|
tok2 = TokenList::copyTokens(tok2, funcStart, funcEnd);
|
||||||
|
|
||||||
if (!inCast)
|
if (!inCast)
|
||||||
|
@ -1322,9 +1322,12 @@ void Tokenizer::simplifyTypedef()
|
||||||
if (!tok2)
|
if (!tok2)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
while (Token::Match(tok2, "%name%|] ["))
|
||||||
|
tok2 = tok2->linkAt(1);
|
||||||
|
|
||||||
tok2->insertToken(")");
|
tok2->insertToken(")");
|
||||||
tok2 = tok2->next();
|
tok2 = tok2->next();
|
||||||
Token::createMutualLinks(tok2, tok3);
|
Token::createMutualLinks(tok2, paren);
|
||||||
|
|
||||||
tok2 = TokenList::copyTokens(tok2, argStart, argEnd);
|
tok2 = TokenList::copyTokens(tok2, argStart, argEnd);
|
||||||
|
|
||||||
|
|
|
@ -5023,7 +5023,7 @@ private:
|
||||||
"PF pfs[] = { &f1, &f1 };";
|
"PF pfs[] = { &f1, &f1 };";
|
||||||
const char expected[] = "void f1 ( ) { } "
|
const char expected[] = "void f1 ( ) { } "
|
||||||
"void ( * pf ) ( ) ; pf = & f1 ; "
|
"void ( * pf ) ( ) ; pf = & f1 ; "
|
||||||
"void ( * pfs ) ( ) [ ] = { & f1 , & f1 } ;"; // TODO : Is [] placed correctly?
|
"void ( * pfs [ ] ) ( ) = { & f1 , & f1 } ;";
|
||||||
ASSERT_EQUALS(expected, tokenizeAndStringify(code));
|
ASSERT_EQUALS(expected, tokenizeAndStringify(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue