summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-05-03 21:05:10 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-05-03 21:05:10 +0000
commit36e2a1eea382d38d6d6eaa27576d0d41235f5c73 (patch)
tree1c4a75b79f266b9e51d7db224be893faa6a6a8b0 /clang/lib
parente4eeb07acd432acc40e99e659d2e90422fb4d161 (diff)
downloadbcm5719-llvm-36e2a1eea382d38d6d6eaa27576d0d41235f5c73.tar.gz
bcm5719-llvm-36e2a1eea382d38d6d6eaa27576d0d41235f5c73.zip
Use the implementation decl for looking up offset while building the
ivar layout. - The layout needs access to synthesized ivars. llvm-svn: 70798
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/CodeGen/CGObjCMac.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp
index a5450ff1be5..5d4b65f4704 100644
--- a/clang/lib/CodeGen/CGObjCMac.cpp
+++ b/clang/lib/CodeGen/CGObjCMac.cpp
@@ -821,7 +821,7 @@ protected:
void BuildAggrIvarRecordLayout(const RecordType *RT,
unsigned int BytePos, bool ForStrongLayout,
bool &HasUnion);
- void BuildAggrIvarLayout(const ObjCInterfaceDecl *OI,
+ void BuildAggrIvarLayout(const ObjCImplementationDecl *OI,
const llvm::StructLayout *Layout,
const RecordDecl *RD,
const llvm::SmallVectorImpl<FieldDecl*> &RecFields,
@@ -846,7 +846,7 @@ protected:
llvm::Constant *GetProtocolRef(const ObjCProtocolDecl *PD);
/// GetFieldBaseOffset - return's field byte offset.
- uint64_t GetFieldBaseOffset(const ObjCInterfaceDecl *OI,
+ uint64_t GetFieldBaseOffset(const ObjCImplementationDecl *OI,
const llvm::StructLayout *Layout,
const FieldDecl *Field);
@@ -2229,7 +2229,7 @@ llvm::Function *CGObjCCommonMac::GenerateMethod(const ObjCMethodDecl *OMD,
}
/// GetFieldBaseOffset - return the field's byte offset.
-uint64_t CGObjCCommonMac::GetFieldBaseOffset(const ObjCInterfaceDecl *OI,
+uint64_t CGObjCCommonMac::GetFieldBaseOffset(const ObjCImplementationDecl *OI,
const llvm::StructLayout *Layout,
const FieldDecl *Field) {
// Is this a C struct?
@@ -2935,7 +2935,7 @@ void CGObjCCommonMac::BuildAggrIvarRecordLayout(const RecordType *RT,
ForStrongLayout, HasUnion);
}
-void CGObjCCommonMac::BuildAggrIvarLayout(const ObjCInterfaceDecl *OI,
+void CGObjCCommonMac::BuildAggrIvarLayout(const ObjCImplementationDecl *OI,
const llvm::StructLayout *Layout,
const RecordDecl *RD,
const llvm::SmallVectorImpl<FieldDecl*> &RecFields,
@@ -3109,7 +3109,7 @@ llvm::Constant *CGObjCCommonMac::BuildIvarLayout(
SkipIvars.clear();
IvarsInfo.clear();
- BuildAggrIvarLayout(OI, 0, 0, RecFields, 0, ForStrongLayout, hasUnion);
+ BuildAggrIvarLayout(OMD, 0, 0, RecFields, 0, ForStrongLayout, hasUnion);
if (IvarsInfo.empty())
return llvm::Constant::getNullValue(PtrTy);
OpenPOWER on IntegriCloud