summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-03-31 17:00:52 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-03-31 17:00:52 +0000
commit3254a6f94cd45d82ffb7da459ce777fbf5440769 (patch)
tree129cc6ede05a507387b8ab59014e777827f68ae5
parent66afeb59683520802a337e2d12a2dc840c8062ee (diff)
downloadbcm5719-llvm-3254a6f94cd45d82ffb7da459ce777fbf5440769.tar.gz
bcm5719-llvm-3254a6f94cd45d82ffb7da459ce777fbf5440769.zip
More toward nonfragile abi's synthesized ivars.
llvm-svn: 68115
-rw-r--r--clang/lib/CodeGen/CGObjCMac.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp
index f688029fb23..1354c4cf9e0 100644
--- a/clang/lib/CodeGen/CGObjCMac.cpp
+++ b/clang/lib/CodeGen/CGObjCMac.cpp
@@ -1693,6 +1693,14 @@ static const ObjCInterfaceDecl *getInterfaceDeclForIvar(
E = OI->ivar_end(); I != E; ++I)
if ((*I)->getIdentifier() == IVD->getIdentifier())
return OI;
+ // look into properties.
+ for (ObjCInterfaceDecl::prop_iterator I = OI->prop_begin(),
+ E = OI->prop_end(); I != E; ++I) {
+ ObjCPropertyDecl *PDecl = (*I);
+ if (ObjCIvarDecl *IV = PDecl->getPropertyIvarDecl())
+ if (IV->getIdentifier() == IVD->getIdentifier())
+ return OI;
+ }
return getInterfaceDeclForIvar(OI->getSuperClass(), IVD);
}
OpenPOWER on IntegriCloud