summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorArtyom Skrobov <Artyom.Skrobov@arm.com>2014-06-10 12:41:14 +0000
committerArtyom Skrobov <Artyom.Skrobov@arm.com>2014-06-10 12:41:14 +0000
commit8b98532af93343fdd3ed5399863d1ac1389f8d4f (patch)
treed08c1177d47b6bae6595d026b8ff7f9809aafb73 /llvm/lib
parent9ffd0b020f5e128edcc403aee0bc1d7b0ea3b754 (diff)
downloadbcm5719-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.cpp9
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);
OpenPOWER on IntegriCloud