Use plain operator new instead of new char[].
authorDan Gohman <gohman@apple.com>
Mon, 30 Jun 2008 21:33:02 +0000 (21:33 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 30 Jun 2008 21:33:02 +0000 (21:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52927 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/SmallVector.h

index 715f28c279654c75228b5aaefa0f5abcd3fc68c4..3d1640cb5710ad6d2587aee1a31220b22d5e7e95 100644 (file)
@@ -84,7 +84,7 @@ public:
 
     // If this wasn't grown from the inline copy, deallocate the old space.
     if (!isSmall())
-      delete[] reinterpret_cast<char*>(Begin);
+      operator delete(static_cast<void*>(Begin));
   }
   
   typedef size_t size_type;
@@ -317,8 +317,8 @@ private:
   /// isSmall - Return true if this is a smallvector which has not had dynamic
   /// memory allocated for it.
   bool isSmall() const {
-    return reinterpret_cast<const void*>(Begin) == 
-           reinterpret_cast<const void*>(&FirstEl);
+    return static_cast<const void*>(Begin) == 
+           static_cast<const void*>(&FirstEl);
   }
 
   /// grow - double the size of the allocated memory, guaranteeing space for at
@@ -346,7 +346,7 @@ void SmallVectorImpl<T>::grow(size_t MinSize) {
   size_t NewCapacity = 2*CurCapacity;
   if (NewCapacity < MinSize)
     NewCapacity = MinSize;
-  T *NewElts = reinterpret_cast<T*>(new char[NewCapacity*sizeof(T)]);
+  T *NewElts = static_cast<T*>(operator new(NewCapacity*sizeof(T)));
   
   // Copy the elements over.
   std::uninitialized_copy(Begin, End, NewElts);
@@ -356,7 +356,7 @@ void SmallVectorImpl<T>::grow(size_t MinSize) {
   
   // If this wasn't grown from the inline copy, deallocate the old space.
   if (!isSmall())
-    delete[] reinterpret_cast<char*>(Begin);
+    operator delete(static_cast<void*>(Begin));
   
   Begin = NewElts;
   End = NewElts+CurSize;