forked from OSchip/llvm-project
Correct CodeGen assumption that LongTy == Int32Ty in a few places. This makes several CodeGenObjC tests pass on 64-bit by fixing assertions. This doesn't mean that the result is actually what the GNU runtime expects, though.
llvm-svn: 60515
This commit is contained in:
parent
75c2661d24
commit
45c2f9d320
|
@ -159,7 +159,7 @@ CGObjCGNU::CGObjCGNU(CodeGen::CodeGenModule &cgm)
|
|||
IntTy = CGM.getTypes().ConvertType(CGM.getContext().IntTy);
|
||||
LongTy = CGM.getTypes().ConvertType(CGM.getContext().LongTy);
|
||||
|
||||
Zeros[0] = llvm::ConstantInt::get(llvm::Type::Int32Ty, 0);
|
||||
Zeros[0] = llvm::ConstantInt::get(LongTy, 0);
|
||||
Zeros[1] = Zeros[0];
|
||||
NULLPtr = llvm::ConstantPointerNull::get(
|
||||
llvm::PointerType::getUnqual(llvm::Type::Int8Ty));
|
||||
|
@ -781,7 +781,7 @@ void CGObjCGNU::GenerateClass(const ObjCImplementationDecl *OID) {
|
|||
llvm::Constant *ClassStruct =
|
||||
GenerateClassStructure(MetaClassStruct, SuperClass, 0x1L,
|
||||
ClassName.c_str(), 0,
|
||||
llvm::ConstantInt::get(llvm::Type::Int32Ty, instanceSize), IvarList,
|
||||
llvm::ConstantInt::get(LongTy, instanceSize), IvarList,
|
||||
MethodList, GenerateProtocolList(Protocols));
|
||||
// Add class structure to list to be added to the symtab later
|
||||
ClassStruct = llvm::ConstantExpr::getBitCast(ClassStruct, PtrToInt8Ty);
|
||||
|
|
Loading…
Reference in New Issue