From: Evan Cheng Date: Thu, 15 Feb 2007 19:05:25 +0000 (+0000) Subject: Eliminate a redundent ctor; eliminate one more potential new [0]. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=334df9d83f7a9f189d21c25a2d32afcd50bd0a9a;p=oota-llvm.git Eliminate a redundent ctor; eliminate one more potential new [0]. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34313 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/BitVector.h b/include/llvm/ADT/BitVector.h index 94cbf096214..a6ae1ac80d5 100644 --- a/include/llvm/ADT/BitVector.h +++ b/include/llvm/ADT/BitVector.h @@ -72,25 +72,23 @@ public: Bits = NULL; } - /// 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);