Replace an assert() with an actual diagnostic.
authorJim Grosbach <grosbach@apple.com>
Wed, 30 Nov 2011 23:16:25 +0000 (23:16 +0000)
committerJim Grosbach <grosbach@apple.com>
Wed, 30 Nov 2011 23:16:25 +0000 (23:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145535 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/AsmMatcherEmitter.cpp

index 01754c3f91e3bca2449b0a02d8448815c0abfff8..9f897685c2f7448b5b020250c15671f60942766c 100644 (file)
@@ -737,7 +737,9 @@ void MatchableInfo::TokenizeAsmString(const AsmMatcherInfo &Info) {
 
   // The first token of the instruction is the mnemonic, which must be a
   // simple string, not a $foo variable or a singleton register.
-  assert(!AsmOperands.empty() && "Instruction has no tokens?");
+  if (AsmOperands.empty())
+    throw TGError(TheDef->getLoc(),
+                  "Instruction '" + TheDef->getName() + "' has no tokens");
   Mnemonic = AsmOperands[0].Token;
   if (Mnemonic[0] == '$' || getSingletonRegisterForAsmOperand(0, Info))
     throw TGError(TheDef->getLoc(),