Changes in directory llvm/include/llvm/ADT:

BitVector.h updated: 1.5 -> 1.6
---
Log message:

Eliminate a redundent ctor; eliminate one more potential new [0].

---
Diffs of the changes:  (+8 -10)

 BitVector.h |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)


Index: llvm/include/llvm/ADT/BitVector.h
diff -u llvm/include/llvm/ADT/BitVector.h:1.5 
llvm/include/llvm/ADT/BitVector.h:1.6
--- llvm/include/llvm/ADT/BitVector.h:1.5       Thu Feb 15 13:03:23 2007
+++ llvm/include/llvm/ADT/BitVector.h   Thu Feb 15 13:05:25 2007
@@ -73,24 +73,22 @@
   }
 
   /// BitVector ctor - Creates a bitvector of specified number of bits. All
-  /// bits are initialized to false;
-  BitVector(unsigned s) : Size(s) {
-    Capacity = NumBitWords(s);
-    Bits = new BitWord[Capacity];
-    init_words(Bits, Capacity, false);
-  }
-
-  /// BitVector ctor - Creates a bitvector of specified number of bits. All
   /// bits are initialized to the specified value.
-  BitVector(unsigned s, bool t) : Size(s) {
+  explicit BitVector(unsigned s, bool t = false) : Size(s) {
     Capacity = NumBitWords(s);
     Bits = new BitWord[Capacity];
     init_words(Bits, Capacity, t);
-    clear_unused_bits();
+    if (t)
+      clear_unused_bits();
   }
 
   /// BitVector copy ctor.
   BitVector(const BitVector &RHS) : Size(RHS.size()) {
+    if (Size == 0) {
+      Bits = NULL;
+      return;
+    }
+
     Capacity = NumBitWords(RHS.size());
     Bits = new BitWord[Capacity];
     std::copy(RHS.Bits, &RHS.Bits[Capacity], Bits);



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

Reply via email to