parent
682bdd3e53
commit
ee5cf0f141
|
@ -7121,7 +7121,7 @@ void Tokenizer::simplifyVarDecl(Token * tokBegin, const Token * const tokEnd, co
|
||||||
if (Token::Match(tok2, "{|(|["))
|
if (Token::Match(tok2, "{|(|["))
|
||||||
tok2 = tok2->link();
|
tok2 = tok2->link();
|
||||||
|
|
||||||
else if (!isC() && tok2->str() == "<" && tok2->previous()->isName() && !tok2->previous()->varId())
|
else if (!isC() && tok2->str() == "<" && ((tok2->previous()->isName() && !tok2->previous()->varId()) || tok2->strAt(-1) == "]"))
|
||||||
tok2 = tok2->findClosingBracket();
|
tok2 = tok2->findClosingBracket();
|
||||||
|
|
||||||
else if (std::strchr(";,", tok2->str()[0])) {
|
else if (std::strchr(";,", tok2->str()[0])) {
|
||||||
|
|
|
@ -3501,6 +3501,20 @@ private:
|
||||||
ASSERT_EQUALS(true, tok1->link() == tok2);
|
ASSERT_EQUALS(true, tok1->link() == tok2);
|
||||||
ASSERT_EQUALS(true, tok2->link() == tok1);
|
ASSERT_EQUALS(true, tok2->link() == tok1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{ // #11810
|
||||||
|
const char code[] = "void f() {\n"
|
||||||
|
" auto g = [] <typename A, typename B> (A a, B&& b) { return a < b; };\n"
|
||||||
|
"}\n";
|
||||||
|
errout.str("");
|
||||||
|
Tokenizer tokenizer(&settings0, this);
|
||||||
|
std::istringstream istr(code);
|
||||||
|
ASSERT(tokenizer.tokenize(istr, "test.cpp"));
|
||||||
|
const Token* tok1 = Token::findsimplematch(tokenizer.tokens(), "< A");
|
||||||
|
const Token* tok2 = Token::findsimplematch(tok1, "> (");
|
||||||
|
ASSERT_EQUALS(true, tok1->link() == tok2);
|
||||||
|
ASSERT_EQUALS(true, tok2->link() == tok1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void simplifyString() {
|
void simplifyString() {
|
||||||
|
|
Loading…
Reference in New Issue