diff options
author | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2014-06-10 12:41:14 +0000 |
---|---|---|
committer | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2014-06-10 12:41:14 +0000 |
commit | 2093e88d67a92721fe070b93dda01a6946079f2f (patch) | |
tree | da305d9e0b689368f5af856fdb2c31c2c3c87218 /lib/TableGen | |
parent | e1db6ac10bcdbfde9f32a9180684de5e5c6ee75b (diff) | |
download | llvm-2093e88d67a92721fe070b93dda01a6946079f2f.tar.gz llvm-2093e88d67a92721fe070b93dda01a6946079f2f.tar.bz2 llvm-2093e88d67a92721fe070b93dda01a6946079f2f.tar.xz |
Anonymous definitions in foreach blocks triggered a 'def already exists'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210526 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/TableGen')
-rw-r--r-- | lib/TableGen/TGParser.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/TableGen/TGParser.cpp b/lib/TableGen/TGParser.cpp index 2c6a46cb0b..f337c75ed5 100644 --- a/lib/TableGen/TGParser.cpp +++ b/lib/TableGen/TGParser.cpp @@ -360,8 +360,13 @@ bool TGParser::ProcessForeachDefs(Record *CurRec, SMLoc Loc, IterSet &IterVals){ } if (Records.getDef(IterRec->getNameInitAsString())) { - Error(Loc, "def already exists: " + IterRec->getNameInitAsString()); - return true; + // If this record is anonymous, it's no problem, just generate a new name + if (IterRec->isAnonymous()) + IterRec->setName(GetNewAnonymousName()); + else { + Error(Loc, "def already exists: " + IterRec->getNameInitAsString()); + return true; + } } Records.addDef(IterRec); |