diff options
-rw-r--r-- | utils/TableGen/FileParser.y | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/utils/TableGen/FileParser.y b/utils/TableGen/FileParser.y index d0f88c30c0..4731674e52 100644 --- a/utils/TableGen/FileParser.y +++ b/utils/TableGen/FileParser.y @@ -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... |