From caa25c81cd12f8a25b6cb7a3cba865a0dbcd4eaf Mon Sep 17 00:00:00 2001 From: David Greene Date: Wed, 5 Oct 2011 22:42:54 +0000 Subject: [PATCH] Prefix Template Arg Names with Multiclass Name For consistency, prefix multiclass template arg names with the multiclass name followed by "::" to avoid name clashes among multiclass arguments and other entities in the multiclass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141239 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/TableGen/TGParser.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/TableGen/TGParser.cpp b/lib/TableGen/TGParser.cpp index ed51977c3d0..97240481fcb 100644 --- a/lib/TableGen/TGParser.cpp +++ b/lib/TableGen/TGParser.cpp @@ -650,6 +650,9 @@ Init *TGParser::ParseIDValue(Record *CurRec, return VarInit::get(Name, RV->getType()); std::string TemplateArgName = CurRec->getName()+":"+Name; + if (CurMultiClass) + TemplateArgName = CurMultiClass->Rec.getName()+"::"+TemplateArgName; + if (CurRec->isTemplateArg(TemplateArgName)) { const RecordVal *RV = CurRec->getValue(TemplateArgName); assert(RV && "Template arg doesn't exist??");