The proper prototype for malloc returns a pointer, not an unsized array
authorChris Lattner <sabre@nondot.org>
Fri, 14 Dec 2001 16:32:20 +0000 (16:32 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 14 Dec 2001 16:32:20 +0000 (16:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1463 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/DeadTypeElimination.cpp

index e194bf4b5fadaee238f80d13a202861b50b68a73..ec4c3fd66e63cf01cb373abda98e2b7ff0e1db35 100644 (file)
@@ -24,7 +24,6 @@
 #include "llvm/iOther.h"
 #include <algorithm>
 
-static const Type *PtrArrSByte = 0; // '[sbyte]*' type
 static const Type *PtrSByte = 0;    // 'sbyte*' type
 
 // ConvertCallTo - Convert a call to a varargs function with no arg types
@@ -226,10 +225,8 @@ bool CleanupGCCOutput::doPassInitialization(Module *M) {
 
   FUT.doPassInitialization(M);
 
-  if (PtrArrSByte == 0) {
-    PtrArrSByte = PointerType::get(ArrayType::get(Type::SByteTy));
-    PtrSByte    = PointerType::get(Type::SByteTy);
-  }
+  if (PtrSByte == 0)
+    PtrSByte = PointerType::get(Type::SByteTy);
 
   if (M->hasSymbolTable()) {
     SymbolTable *ST = M->getSymbolTable();
@@ -304,7 +301,7 @@ bool CleanupGCCOutput::doOneCleanupPass(Method *M) {
 
       if (CallInst *CI = dyn_cast<CallInst>(I)) {
         if (CI->getCalledValue() == Malloc) {      // Replace call to malloc?
-          MallocInst *MallocI = new MallocInst(PtrArrSByte, CI->getOperand(1),
+          MallocInst *MallocI = new MallocInst(PtrSByte, CI->getOperand(1),
                                                CI->getName());
           CI->setName("");
           BI = BIL.insert(BI, MallocI)+1;