From 7c75c684a67d6865d248098a39f46afb0dc92780 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Mon, 9 Sep 2019 23:07:25 +0000 Subject: [PATCH] Fix incorrect demangling of call operator of lambda with explicit template parameters due to registering template parameters twice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371469 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Demangle/ItaniumDemangle.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/include/llvm/Demangle/ItaniumDemangle.h b/include/llvm/Demangle/ItaniumDemangle.h index edba17d396b..7784e842bfe 100644 --- a/include/llvm/Demangle/ItaniumDemangle.h +++ b/include/llvm/Demangle/ItaniumDemangle.h @@ -2358,9 +2358,6 @@ template struct AbstractManglingParser { assert(Parser->TemplateParams.size() >= OldNumTemplateParamLists); Parser->TemplateParams.dropBack(OldNumTemplateParamLists); } - void push_back(Node *Param) { - Params.push_back(Param); - } }; // Template parameter table. Like the above, but referenced like "T42_". @@ -2702,7 +2699,6 @@ AbstractManglingParser::parseUnnamedTypeName(NameState *State) { Node *T = parseTemplateParamDecl(); if (!T) return nullptr; - LambdaTemplateParams.push_back(T); Names.push_back(T); } NodeArray TempParams = popTrailingNodeArray(ParamsBegin); -- 2.50.1