diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-11-06 22:15:52 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-11-06 22:15:52 +0000 |
commit | 8cbca20a59d5fe320ff9764eb4795489e398a410 (patch) | |
tree | 526b37bd8a59406ee0872be7b74350a541970d8d /clang/lib/CodeGen/CGObjCGNU.cpp | |
parent | ab0603603ed85129b3095034cb427836642a6d89 (diff) | |
download | bcm5719-llvm-8cbca20a59d5fe320ff9764eb4795489e398a410.tar.gz bcm5719-llvm-8cbca20a59d5fe320ff9764eb4795489e398a410.zip |
Back out 167431+167437+167487; I didn't realize how incomplete our test
coverage of this code is.
llvm-svn: 167495
Diffstat (limited to 'clang/lib/CodeGen/CGObjCGNU.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGObjCGNU.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGObjCGNU.cpp b/clang/lib/CodeGen/CGObjCGNU.cpp index c181034d512..99abf0545ba 100644 --- a/clang/lib/CodeGen/CGObjCGNU.cpp +++ b/clang/lib/CodeGen/CGObjCGNU.cpp @@ -2083,7 +2083,7 @@ void CGObjCGNU::GenerateClass(const ObjCImplementationDecl *OID) { Context.getObjCEncodingForType(IVD->getType(), TypeStr); IvarTypes.push_back(MakeConstantString(TypeStr)); // Get the offset - uint64_t BaseOffset = ComputeIvarBaseOffset(CGM, OID, IVD).getQuantity(); + uint64_t BaseOffset = ComputeIvarBaseOffset(CGM, OID, IVD); uint64_t Offset = BaseOffset; if (CGM.getLangOpts().ObjCRuntime.isNonFragile()) { Offset = BaseOffset - superInstanceSize; @@ -2655,7 +2655,7 @@ llvm::GlobalVariable *CGObjCGNU::ObjCIvarOffsetVariable( // description. if (!CGM.getContext().getObjCImplementation( const_cast<ObjCInterfaceDecl *>(ID))) - Offset = ComputeIvarBaseOffset(CGM, ID, Ivar).getQuantity(); + Offset = ComputeIvarBaseOffset(CGM, ID, Ivar); llvm::ConstantInt *OffsetGuess = llvm::ConstantInt::get(Int32Ty, Offset, /*isSigned*/true); @@ -2728,9 +2728,8 @@ llvm::Value *CGObjCGNU::EmitIvarOffset(CodeGenFunction &CGF, Offset = CGF.Builder.CreateZExtOrBitCast(Offset, PtrDiffTy); return Offset; } - CharUnits Offset = ComputeIvarBaseOffset(CGF.CGM, Interface, Ivar); - return llvm::ConstantInt::get(PtrDiffTy, Offset.getQuantity(), - /*isSigned*/true); + uint64_t Offset = ComputeIvarBaseOffset(CGF.CGM, Interface, Ivar); + return llvm::ConstantInt::get(PtrDiffTy, Offset, /*isSigned*/true); } CGObjCRuntime * |