From 0a012128574c93d5b85adffd14eb4b07883fba4c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 18 Jul 2006 19:06:01 +0000 Subject: [PATCH] Fix an accidentally duplicated line that caused tblgen to crash on itanium. Add an assert that catches the real problem earlier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29185 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/AsmWriterEmitter.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/utils/TableGen/AsmWriterEmitter.cpp b/utils/TableGen/AsmWriterEmitter.cpp index 432dc6a291d..d8e98394078 100644 --- a/utils/TableGen/AsmWriterEmitter.cpp +++ b/utils/TableGen/AsmWriterEmitter.cpp @@ -399,7 +399,6 @@ FindUniqueOperandCommands(std::vector &UniqueOperandCommands, // set share the operand. bool AllSame = true; - NIT = std::find(NIT+1, InstIdxs.end(), CommandIdx); for (NIT = std::find(NIT+1, InstIdxs.end(), CommandIdx); NIT != InstIdxs.end(); NIT = std::find(NIT+1, InstIdxs.end(), CommandIdx)) { @@ -559,6 +558,8 @@ void AsmWriterEmitter::run(std::ostream &O) { if (AsmWriterInst *Inst = getAsmWriterInstByID(i)) if (!Inst->Operands.empty()) { unsigned NumOps = NumInstOpsHandled[InstIdxs[i]]; + assert(NumOps <= Inst->Operands.size() && + "Can't remove this many ops!"); Inst->Operands.erase(Inst->Operands.begin(), Inst->Operands.begin()+NumOps); } @@ -679,8 +680,8 @@ void AsmWriterEmitter::run(std::ostream &O) { EmitInstructions(Instructions, O); O << " }\n"; + O << " return true;\n"; } - O << " return true;\n" - "}\n"; + O << "}\n"; }