From e87e1c9aa947e6558412b6517308410cd0f5aea4 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 13 Sep 2002 22:28:50 +0000 Subject: Change the MallocInst & AllocaInst ctors to take the allocated type, not the pointer type returned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3711 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Bytecode/Reader/InstructionReader.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lib/Bytecode/Reader') diff --git a/lib/Bytecode/Reader/InstructionReader.cpp b/lib/Bytecode/Reader/InstructionReader.cpp index 0b75c41b00..40360991f5 100644 --- a/lib/Bytecode/Reader/InstructionReader.cpp +++ b/lib/Bytecode/Reader/InstructionReader.cpp @@ -329,13 +329,19 @@ bool BytecodeParser::ParseInstruction(const uchar *&Buf, const uchar *EndBuf, case Instruction::Malloc: if (Raw.NumOperands > 2) return true; V = Raw.NumOperands ? getValue(Type::UIntTy, Raw.Arg1) : 0; - Res = new MallocInst(Raw.Ty, V); + if (const PointerType *PTy = dyn_cast(Raw.Ty)) + Res = new MallocInst(PTy->getElementType(), V); + else + return true; return false; case Instruction::Alloca: if (Raw.NumOperands > 2) return true; V = Raw.NumOperands ? getValue(Type::UIntTy, Raw.Arg1) : 0; - Res = new AllocaInst(Raw.Ty, V); + if (const PointerType *PTy = dyn_cast(Raw.Ty)) + Res = new AllocaInst(PTy->getElementType(), V); + else + return true; return false; case Instruction::Free: -- cgit v1.2.3-70-g09d2