[TableGen] Fix ICE on MSVC 2012 Release builds.

llvm-svn: 176125
This commit is contained in:
Michael J. Spencer 2013-02-26 21:29:47 +00:00
parent 8ea7af8e44
commit 2bb7db9d01
2 changed files with 5 additions and 2 deletions

View File

@ -382,7 +382,8 @@ static bool isObjectStart(tgtok::TokKind K) {
static std::string GetNewAnonymousName() {
static unsigned AnonCounter = 0;
return "anonymous."+utostr(AnonCounter++);
unsigned Tmp = AnonCounter++; // MSVC2012 ICEs without this.
return "anonymous." + utostr(Tmp);
}
/// ParseObjectName - If an object name is specified, return it. Otherwise,

View File

@ -703,7 +703,9 @@ CodeGenRegisterClass::CodeGenRegisterClass(CodeGenRegBank &RegBank, Record *R)
// Rename anonymous register classes.
if (R->getName().size() > 9 && R->getName()[9] == '.') {
static unsigned AnonCounter = 0;
R->setName("AnonRegClass_"+utostr(AnonCounter++));
R->setName("AnonRegClass_" + utostr(AnonCounter));
// MSVC2012 ICEs if AnonCounter++ is directly passed to utostr.
++AnonCounter;
}
std::vector<Record*> TypeList = R->getValueAsListOfDefs("RegTypes");