diff options
author | Jim Grosbach <grosbach@apple.com> | 2012-07-12 21:37:20 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2012-07-12 21:37:20 +0000 |
commit | 5f111b2721f0cada05adddb85568b21ccc13a7be (patch) | |
tree | ba1e37a68e32a87c03b09c0886cebaff2d72269b | |
parent | a13cd0666e3a4410c69764bb1a78ba9df9ae5397 (diff) | |
download | bcm5719-llvm-5f111b2721f0cada05adddb85568b21ccc13a7be.tar.gz bcm5719-llvm-5f111b2721f0cada05adddb85568b21ccc13a7be.zip |
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
llvm-svn: 160144
-rw-r--r-- | llvm/utils/TableGen/AsmMatcherEmitter.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp index f5e094e486a..da493b3a3b0 100644 --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp +++ b/llvm/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"; |