diff options
-rw-r--r-- | include/llvm/ADT/StringMap.h | 2 | ||||
-rw-r--r-- | lib/Support/StringMap.cpp | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/include/llvm/ADT/StringMap.h b/include/llvm/ADT/StringMap.h index 3c5f76a3c1..cb1dd9f132 100644 --- a/include/llvm/ADT/StringMap.h +++ b/include/llvm/ADT/StringMap.h @@ -279,7 +279,7 @@ public: if (I->Item && I->Item != getTombstoneVal()) static_cast<MapEntryTy*>(I->Item)->Destroy(Allocator); } - delete [] TheTable; + free(TheTable); } }; diff --git a/lib/Support/StringMap.cpp b/lib/Support/StringMap.cpp index caf9ba350e..e7263e247b 100644 --- a/lib/Support/StringMap.cpp +++ b/lib/Support/StringMap.cpp @@ -38,8 +38,7 @@ void StringMapImpl::init(unsigned InitSize) { NumItems = 0; NumTombstones = 0; - TheTable = new ItemBucket[NumBuckets+1](); - memset(TheTable, 0, NumBuckets*sizeof(ItemBucket)); + TheTable = (ItemBucket*)calloc(NumBuckets+1, sizeof(ItemBucket)); // Allocate one extra bucket, set it to look filled so the iterators stop at // end. @@ -200,8 +199,7 @@ void StringMapImpl::RehashTable() { unsigned NewSize = NumBuckets*2; // Allocate one extra bucket which will always be non-empty. This allows the // iterators to stop at end. - ItemBucket *NewTableArray = new ItemBucket[NewSize+1](); - memset(NewTableArray, 0, NewSize*sizeof(ItemBucket)); + ItemBucket *NewTableArray =(ItemBucket*)calloc(NewSize+1, sizeof(ItemBucket)); NewTableArray[NewSize].Item = (StringMapEntryBase*)2; // Rehash all the items into their new buckets. Luckily :) we already have |