TableGen: Convert an assert() to a proper diagnostic.

llvm-svn: 163726
This commit is contained in:
Jim Grosbach 2012-09-12 17:40:25 +00:00
parent 2e098efd4d
commit f6cb1ee75a
1 changed files with 3 additions and 1 deletions

View File

@ -1020,7 +1020,9 @@ AsmMatcherInfo::getOperandClass(Record *Rec, int SubOpIdx) {
throw TGError(Rec->getLoc(), "register class has no class info!");
}
assert(Rec->isSubClassOf("Operand") && "Unexpected operand!");
if (!Rec->isSubClassOf("Operand"))
throw TGError(Rec->getLoc(), "Operand `" + Rec->getName() +
"' does not derive from class Operand!\n");
Record *MatchClass = Rec->getValueAsDef("ParserMatchClass");
if (ClassInfo *CI = AsmOperandClasses[MatchClass])
return CI;