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 | 8b98532af93343fdd3ed5399863d1ac1389f8d4f (patch) | |
| tree | d08c1177d47b6bae6595d026b8ff7f9809aafb73 /llvm/lib | |
| parent | 9ffd0b020f5e128edcc403aee0bc1d7b0ea3b754 (diff) | |
| download | bcm5719-llvm-8b98532af93343fdd3ed5399863d1ac1389f8d4f.tar.gz bcm5719-llvm-8b98532af93343fdd3ed5399863d1ac1389f8d4f.zip | |
Anonymous definitions in foreach blocks triggered a 'def already exists'
llvm-svn: 210526
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/TableGen/TGParser.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/TableGen/TGParser.cpp b/llvm/lib/TableGen/TGParser.cpp index 2c6a46cb0bc..f337c75ed5e 100644 --- a/llvm/lib/TableGen/TGParser.cpp +++ b/llvm/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); |

