summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2012-07-12 21:37:20 +0000
committerJim Grosbach <grosbach@apple.com>2012-07-12 21:37:20 +0000
commit151d81d1e7c5d37fb7c234cadb2101d5f0150d69 (patch)
treefdad18bd3c68b70eea2dcfc0ce60290fcb91d3ab /utils
parent94e36e34e260822bf3249f0a48f400f3d28a4e58 (diff)
downloadllvm-151d81d1e7c5d37fb7c234cadb2101d5f0150d69.tar.gz
llvm-151d81d1e7c5d37fb7c234cadb2101d5f0150d69.tar.bz2
llvm-151d81d1e7c5d37fb7c234cadb2101d5f0150d69.tar.xz
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160144 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r--utils/TableGen/AsmMatcherEmitter.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp
index f5e094e486..da493b3a3b 100644
--- a/utils/TableGen/AsmMatcherEmitter.cpp
+++ b/utils/TableGen/AsmMatcherEmitter.cpp
@@ -2649,6 +2649,7 @@ void AsmMatcherEmitter::run(raw_ostream &OS) {
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";