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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163726 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Grosbach 2012-09-12 17:40:25 +00:00
parent ee99c7f1bf
commit a562dc7228

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;