]> granicus.if.org Git - clang/commitdiff
More toward nonfragile abi's synthesized ivars.
authorFariborz Jahanian <fjahanian@apple.com>
Tue, 31 Mar 2009 17:00:52 +0000 (17:00 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Tue, 31 Mar 2009 17:00:52 +0000 (17:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68115 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGObjCMac.cpp

index f688029fb23a9e27f46e1783c5f09524cf01838c..1354c4cf9e0cfb90ba6a8321136f73a7f92a8245 100644 (file)
@@ -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);
 }