diff --git a/lib/tokenlist.cpp b/lib/tokenlist.cpp index 2953b0c895d..ff9218433be 100644 --- a/lib/tokenlist.cpp +++ b/lib/tokenlist.cpp @@ -573,8 +573,6 @@ static bool iscpp11init_impl(const Token * const tok) if (nameToken->isCpp11init() != Token::Cpp11init::UNKNOWN) return nameToken->isCpp11init() == Token::Cpp11init::CPP11INIT; nameToken = nameToken->previous(); - if (nameToken && nameToken->str() == "," && Token::simpleMatch(nameToken->previous(), "} ,")) - nameToken = nameToken->linkAt(-1); } if (!nameToken) return false; diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index c9d1b8336ab..02b4b64a8ed 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -8493,6 +8493,10 @@ class TestTokenizer : public TestFixture { "{ } } {", Token::Cpp11init::CPP11INIT); + testIsCpp11init("void f() { g([]() {}, { 1 }); }\n", + "{ 1", + Token::Cpp11init::CPP11INIT); + ASSERT_NO_THROW(tokenizeAndStringify("template struct X {};\n" // don't crash "template auto f(T t) -> X {}\n")); ASSERT_EQUALS("[test.cpp:2:22]: (debug) auto token with no type. [autoNoType]\n", errout_str());