diff options
author | Chris Lattner <sabre@nondot.org> | 2006-07-18 19:06:01 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-07-18 19:06:01 +0000 |
commit | 0a012128574c93d5b85adffd14eb4b07883fba4c (patch) | |
tree | 974e04d508054068d058c3e99dc818f64efbc8f6 | |
parent | 96c1ade5c3927cb0e835af721cbf37f9605cc678 (diff) | |
download | external_llvm-0a012128574c93d5b85adffd14eb4b07883fba4c.zip external_llvm-0a012128574c93d5b85adffd14eb4b07883fba4c.tar.gz external_llvm-0a012128574c93d5b85adffd14eb4b07883fba4c.tar.bz2 |
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
-rw-r--r-- | utils/TableGen/AsmWriterEmitter.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/utils/TableGen/AsmWriterEmitter.cpp b/utils/TableGen/AsmWriterEmitter.cpp index 432dc6a..d8e9839 100644 --- a/utils/TableGen/AsmWriterEmitter.cpp +++ b/utils/TableGen/AsmWriterEmitter.cpp @@ -399,7 +399,6 @@ FindUniqueOperandCommands(std::vector<std::string> &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"; } |