Switch from new[] + delete[] to malloc + free since llvm does not catch C++ exceptions.
authorEvan Cheng <evan.cheng@apple.com>
Fri, 13 Feb 2009 08:24:55 +0000 (08:24 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 13 Feb 2009 08:24:55 +0000 (08:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64448 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/MemoryBuffer.cpp

index 0e60eab301e57625bfe27a0f94ac768f18789e01..a4963d92fb65f7e0a539fdd0a1d773128d3fa2c7 100644 (file)
@@ -38,7 +38,7 @@ using namespace llvm;
 
 MemoryBuffer::~MemoryBuffer() {
   if (MustDeleteBuffer)
-    delete [] BufferStart;
+    free((void*)BufferStart);
 }
 
 /// initCopyOf - Initialize this source buffer with a copy of the specified
@@ -46,7 +46,7 @@ MemoryBuffer::~MemoryBuffer() {
 /// successfully.
 void MemoryBuffer::initCopyOf(const char *BufStart, const char *BufEnd) {
   size_t Size = BufEnd-BufStart;
-  BufferStart = new char[Size+1];
+  BufferStart = (char *)malloc((Size+1) * sizeof(char));
   BufferEnd = BufferStart+Size;
   memcpy(const_cast<char*>(BufferStart), BufStart, Size);
   *const_cast<char*>(BufferEnd) = 0;   // Null terminate buffer.
@@ -108,7 +108,7 @@ MemoryBuffer *MemoryBuffer::getMemBufferCopy(const char *StartPtr,
 /// the MemoryBuffer object.
 MemoryBuffer *MemoryBuffer::getNewUninitMemBuffer(size_t Size,
                                                   const char *BufferName) {
-  char *Buf = new char[Size+1];
+  char *Buf = (char *)malloc((Size+1) * sizeof(char));
   if (!Buf) return 0;
   Buf[Size] = 0;
   MemoryBufferMem *SB = new MemoryBufferMem(Buf, Buf+Size, BufferName);