Changes in directory llvm/utils/TableGen:

AsmWriterEmitter.cpp updated: 1.37 -> 1.38
---
Log message:

Fix an accidentally duplicated line that caused tblgen to crash on itanium.
Add an assert that catches the real problem earlier.


---
Diffs of the changes:  (+4 -3)

 AsmWriterEmitter.cpp |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)


Index: llvm/utils/TableGen/AsmWriterEmitter.cpp
diff -u llvm/utils/TableGen/AsmWriterEmitter.cpp:1.37 
llvm/utils/TableGen/AsmWriterEmitter.cpp:1.38
--- llvm/utils/TableGen/AsmWriterEmitter.cpp:1.37       Tue Jul 18 13:28:27 2006
+++ llvm/utils/TableGen/AsmWriterEmitter.cpp    Tue Jul 18 14:06:01 2006
@@ -399,7 +399,6 @@
       // 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 @@
       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 @@
       EmitInstructions(Instructions, O);
 
     O << "  }\n";
+    O << "  return true;\n";
   }
   
-  O << "  return true;\n"
-       "}\n";
+  O << "}\n";
 }



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to