diff --git a/lib/templatesimplifier.cpp b/lib/templatesimplifier.cpp index 291de6f11..ec87f8260 100644 --- a/lib/templatesimplifier.cpp +++ b/lib/templatesimplifier.cpp @@ -305,7 +305,7 @@ unsigned int TemplateSimplifier::templateParameters(const Token *tok) // ,/> while (Token::Match(tok, ">|>>")) { if (level == 0) - return numberOfParameters; + return ((tok->str() == ">") ? numberOfParameters : 0); --level; if (tok->str() == ">>") { if (level == 0) diff --git a/test/testsimplifytemplate.cpp b/test/testsimplifytemplate.cpp index 6b553a167..7463b60e7 100644 --- a/test/testsimplifytemplate.cpp +++ b/test/testsimplifytemplate.cpp @@ -1150,6 +1150,7 @@ private: ASSERT_EQUALS(1U, templateParameters(" x;")); ASSERT_EQUALS(1U, templateParameters(" x;")); ASSERT_EQUALS(1U, templateParameters(" x;")); + ASSERT_EQUALS(0U, templateParameters(">x;")); } void templateParameters1() {