diff options
-rw-r--r-- | include/llvm/ADT/BitVector.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/llvm/ADT/BitVector.h b/include/llvm/ADT/BitVector.h index a6ae1ac80d..03789aa4ff 100644 --- a/include/llvm/ADT/BitVector.h +++ b/include/llvm/ADT/BitVector.h @@ -101,7 +101,12 @@ public: unsigned count() const { unsigned NumBits = 0; for (unsigned i = 0; i < NumBitWords(size()); ++i) - NumBits = CountPopulation_32(Bits[i]); + if (sizeof(BitWord) == 4) + NumBits += CountPopulation_32(Bits[i]); + else if (sizeof(BitWord) == 8) + NumBits += CountPopulation_64(Bits[i]); + else + assert(0 && "Unsupported!") return NumBits; } |