Fix issue with bitwise and precedence.
[oota-llvm.git] / lib / Support / DeltaAlgorithm.cpp
index f85ca300ab98129058855b3338384ce33cbb8212..9e52874de832689a8b5c71d554edb1d2f3977a3f 100644 (file)
@@ -11,6 +11,9 @@
 #include <iterator>
 using namespace llvm;
 
+DeltaAlgorithm::~DeltaAlgorithm() {
+}
+
 bool DeltaAlgorithm::GetTestResult(const changeset_ty &Changes) {
   if (FailedTestsCache.count(Changes))
     return false;
@@ -27,10 +30,10 @@ void DeltaAlgorithm::Split(const changeset_ty &S, changesetlist_ty &Res) {
 
   // FIXME: This is really slow.
   changeset_ty LHS, RHS;
-  unsigned idx = 0;
+  unsigned idx = 0, N = S.size() / 2;
   for (changeset_ty::const_iterator it = S.begin(),
          ie = S.end(); it != ie; ++it, ++idx)
-    ((idx & 1) ? LHS : RHS).insert(*it);
+    ((idx < N) ? LHS : RHS).insert(*it);
   if (!LHS.empty())
     Res.push_back(LHS);
   if (!RHS.empty())