]> granicus.if.org Git - llvm/commitdiff
Fix incorrect demangling of call operator of lambda with explicit
authorRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 9 Sep 2019 23:07:25 +0000 (23:07 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 9 Sep 2019 23:07:25 +0000 (23:07 +0000)
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

index edba17d396b02b08b37353f6dd8db965ab375bcf..7784e842bfeb43b886457e883618ae985446e1e9 100644 (file)
@@ -2358,9 +2358,6 @@ template <typename Derived, typename Alloc> 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<Derived, Alloc>::parseUnnamedTypeName(NameState *State) {
       Node *T = parseTemplateParamDecl();
       if (!T)
         return nullptr;
-      LambdaTemplateParams.push_back(T);
       Names.push_back(T);
     }
     NodeArray TempParams = popTrailingNodeArray(ParamsBegin);