summaryrefslogtreecommitdiff
path: root/include/llvm/ADT/SparseBitVector.h
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2007-09-17 18:04:21 +0000
committerDaniel Berlin <dberlin@dberlin.org>2007-09-17 18:04:21 +0000
commit8180cf65a5b9fc41ba402a2d08cf62f70af65aeb (patch)
treee4c4378843e55c7b269c4d1fb1b04ea556f7f01c /include/llvm/ADT/SparseBitVector.h
parente1b50639a860934685dff840e1826b16dbe6a344 (diff)
downloadllvm-8180cf65a5b9fc41ba402a2d08cf62f70af65aeb.tar.gz
llvm-8180cf65a5b9fc41ba402a2d08cf62f70af65aeb.tar.bz2
llvm-8180cf65a5b9fc41ba402a2d08cf62f70af65aeb.tar.xz
Fix iterator so it doesn't sometimes report bits that aren't in the bitmap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42039 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT/SparseBitVector.h')
-rw-r--r--include/llvm/ADT/SparseBitVector.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/llvm/ADT/SparseBitVector.h b/include/llvm/ADT/SparseBitVector.h
index 6ffc6edcfc..3455f51050 100644
--- a/include/llvm/ADT/SparseBitVector.h
+++ b/include/llvm/ADT/SparseBitVector.h
@@ -405,6 +405,8 @@ class SparseBitVector {
WordNumber = (NextSetBitNumber % ElementSize) / BITWORD_SIZE;
Bits = Iter->word(WordNumber);
Bits >>= NextSetBitNumber % BITWORD_SIZE;
+ BitNumber = Iter->index() * ElementSize;
+ BitNumber += NextSetBitNumber;
}
}
}