[llvm-commits] [llvm] r160144 - /llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp

Jim Grosbach grosbach at apple.com
Thu Jul 12 14:37:20 PDT 2012


Author: grosbach
Date: Thu Jul 12 16:37:20 2012
New Revision: 160144

URL: http://llvm.org/viewvc/llvm-project?rev=160144&view=rev
Log:
TableGen: Assembly matcher 'insufficient operands' diagnostic.

Make sure the tblgen'erated asm matcher correctly returns numoperands+1
as the ErrorInfo when the problem was that there weren't enough operands
specified.

rdar://9142751

Modified:
    llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp

Modified: llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp?rev=160144&r1=160143&r2=160144&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp Thu Jul 12 16:37:20 2012
@@ -2649,6 +2649,7 @@
   OS << "    for (unsigned i = 0; i != " << MaxNumOperands << "; ++i) {\n";
   OS << "      if (i + 1 >= Operands.size()) {\n";
   OS << "        OperandsValid = (it->Classes[i] == " <<"InvalidMatchClass);\n";
+  OS << "        if (!OperandsValid) ErrorInfo = i + 1;\n;";
   OS << "        break;\n";
   OS << "      }\n";
   OS << "      unsigned Diag = validateOperandClass(Operands[i+1],\n";





More information about the llvm-commits mailing list