Use operator new instead of new char[].
authorDan Gohman <gohman@apple.com>
Thu, 3 Jul 2008 00:53:09 +0000 (00:53 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 3 Jul 2008 00:53:09 +0000 (00:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53066 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Type.cpp

index 3a9ea582f112efb088d357bd55f48f55f133986e..f1721306885f9bf541ef09d97e4ec1bd682f837b 100644 (file)
@@ -90,7 +90,7 @@ void Type::destroy() const {
 
     // Finally, remove the memory as an array deallocation of the chars it was
     // constructed from.
-    delete [] reinterpret_cast<const char*>(this); 
+    operator delete(const_cast<Type *>(this));
 
     return;
   }
@@ -1124,8 +1124,8 @@ FunctionType *FunctionType::get(const Type *ReturnType,
   if (FT)
     return FT;
 
-  FT = (FunctionType*) new char[sizeof(FunctionType) + 
-                                sizeof(PATypeHandle)*(Params.size()+1)];
+  FT = (FunctionType*) operator new(sizeof(FunctionType) +
+                                    sizeof(PATypeHandle)*(Params.size()+1));
   new (FT) FunctionType(ReturnType, Params, isVarArg);
   FunctionTypes->add(VT, FT);
 
@@ -1266,8 +1266,8 @@ StructType *StructType::get(const std::vector<const Type*> &ETypes,
   if (ST) return ST;
 
   // Value not found.  Derive a new type!
-  ST = (StructType*) new char[sizeof(StructType) + 
-                              sizeof(PATypeHandle) * ETypes.size()];
+  ST = (StructType*) operator new(sizeof(StructType) +
+                                  sizeof(PATypeHandle) * ETypes.size());
   new (ST) StructType(ETypes, isPacked);
   StructTypes->add(STV, ST);