mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
The proper prototype for malloc returns a pointer, not an unsized array
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1463 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5618cb60c2
commit
206ad80ef9
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user