Do not remove an active template argument even if the superclass had one of the
authorChris Lattner <sabre@nondot.org>
Sat, 28 Feb 2004 17:41:48 +0000 (17:41 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 28 Feb 2004 17:41:48 +0000 (17:41 +0000)
same name

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11950 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/FileParser.y

index d0f88c30c046c0ac0a21cfe6e0471c5918cfbac4..4731674e5217376635992fbe07dd99dba3fdf38e 100644 (file)
@@ -467,7 +467,8 @@ ObjectBody : OptID {
   for (unsigned i = 0, e = $4->size(); i != e; ++i) {
     Record *SuperClass = (*$4)[i].first;
     for (unsigned i = 0, e = SuperClass->getTemplateArgs().size(); i != e; ++i)
-    CurRec->removeValue(SuperClass->getTemplateArgs()[i]);
+      if (!CurRec->isTemplateArg(SuperClass->getTemplateArgs()[i]))
+        CurRec->removeValue(SuperClass->getTemplateArgs()[i]);
   }
   delete $4;   // Delete the class list...