aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/ADT/StringMap.h2
-rw-r--r--lib/Support/StringMap.cpp6
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