diff options
author | Chris Lattner <sabre@nondot.org> | 2004-02-28 17:41:48 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-02-28 17:41:48 +0000 |
commit | 8a4045e4d7495ac19935caf65cf39b8cc4e987b1 (patch) | |
tree | 3ac3127c3035a8bdc91283b89333e0f078dfc51e /utils/TableGen/FileParser.y | |
parent | eb7d6d016ea32cbc5978f7a433864b185a544ec9 (diff) | |
download | external_llvm-8a4045e4d7495ac19935caf65cf39b8cc4e987b1.zip external_llvm-8a4045e4d7495ac19935caf65cf39b8cc4e987b1.tar.gz external_llvm-8a4045e4d7495ac19935caf65cf39b8cc4e987b1.tar.bz2 |
Do not remove an active template argument even if the superclass had one of the
same name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11950 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/FileParser.y')
-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 d0f88c3..4731674 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... |