GLIBCXX_DEBUG fix. std::vector<>::end() is invalidated by erase.
authorDavid Greene <greened@obbligato.org>
Mon, 17 Dec 2007 17:42:03 +0000 (17:42 +0000)
committerDavid Greene <greened@obbligato.org>
Mon, 17 Dec 2007 17:42:03 +0000 (17:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45101 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Utils/LowerSwitch.cpp

index dbf3f65d9293025a608f15d43f6004a759a87979..42732ebe55095f893fb657fec4d8d90e65aef5ab 100644 (file)
@@ -248,7 +248,7 @@ unsigned LowerSwitch::Clusterify(CaseVector& Cases, SwitchInst *SI) {
 
   // Merge case into clusters
   if (Cases.size()>=2)
-    for (CaseItr I=Cases.begin(), J=next(Cases.begin()), E=Cases.end(); J!=E; ) {
+    for (CaseItr I=Cases.begin(), J=next(Cases.begin()); J!=Cases.end(); ) {
       int64_t nextValue = cast<ConstantInt>(J->Low)->getSExtValue();
       int64_t currentValue = cast<ConstantInt>(I->High)->getSExtValue();
       BasicBlock* nextBB = J->BB;