From baeae95bac628145eb35043d573bd94d043d53bd Mon Sep 17 00:00:00 2001 From: IOBYTE Date: Mon, 6 May 2019 13:06:46 -0400 Subject: [PATCH] template simplifier: fix a template alias TODO test (#1823) --- lib/templatesimplifier.cpp | 4 ++-- test/testsimplifytemplate.cpp | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/templatesimplifier.cpp b/lib/templatesimplifier.cpp index ba1219806..d2982e565 100644 --- a/lib/templatesimplifier.cpp +++ b/lib/templatesimplifier.cpp @@ -1119,7 +1119,7 @@ void TemplateSimplifier::simplifyTemplateAliases() } tok2 = aliasUsage.token->next(); // the '<' const Token * const endToken1 = templateAlias.token->next()->findClosingBracket(); - const Token * const endToken2 = TokenList::copyTokens(tok2, templateAlias.token->tokAt(2), endToken1->previous(), false); + const Token * const endToken2 = TokenList::copyTokens(tok2, templateAlias.token->tokAt(2), endToken1->previous(), false)->next(); for (const Token *tok1 = templateAlias.token->next(); tok2 != endToken2; tok1 = tok1->next(), tok2 = tok2->next()) { if (!tok2->isName()) continue; @@ -1147,7 +1147,7 @@ void TemplateSimplifier::simplifyTemplateAliases() endToken = endToken1->next(); // Remove alias usage code (parameters) - Token::eraseTokens(tok2, args.back().second); + Token::eraseTokens(tok2->previous(), args.back().second); } if (endToken) { // Remove all template instantiations in template alias diff --git a/test/testsimplifytemplate.cpp b/test/testsimplifytemplate.cpp index b3be53fd2..6351f1d51 100644 --- a/test/testsimplifytemplate.cpp +++ b/test/testsimplifytemplate.cpp @@ -3397,12 +3397,9 @@ private: "IntrusivePtr> p;"; const char expected[] = "; " "class Vertex ; " - "boost :: intrusive_ptr < Vertex > p ;" + "boost :: intrusive_ptr < Vertex > p ; " "class Vertex { } ;"; - const char actual[] = "; " - "template < class T > class Vertex { } ; " - "boost :: intrusive_ptr < T > p ;"; - TODO_ASSERT_EQUALS(expected, actual, tok(code)); + ASSERT_EQUALS(expected, tok(code)); } unsigned int instantiateMatch(const char code[], const std::size_t numberOfArguments, const char patternAfter[]) {