From: Manman Ren Date: Wed, 23 Mar 2016 21:39:31 +0000 (+0000) Subject: ObjC: add getter/setter for class properties to global pool. X-Git-Tag: llvmorg-3.9.0-rc1~11121 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=15325f80af09c5f614e698b806d6bb0dd7e4237f;p=platform%2Fupstream%2Fllvm.git ObjC: add getter/setter for class properties to global pool. rdar://problem/25323072 llvm-svn: 264196 --- diff --git a/clang/lib/Sema/SemaObjCProperty.cpp b/clang/lib/Sema/SemaObjCProperty.cpp index 3f8799a..3224694 100644 --- a/clang/lib/Sema/SemaObjCProperty.cpp +++ b/clang/lib/Sema/SemaObjCProperty.cpp @@ -2308,6 +2308,11 @@ void Sema::ProcessPropertyDecl(ObjCPropertyDecl *property) { AddInstanceMethodToGlobalPool(GetterMethod); if (SetterMethod) AddInstanceMethodToGlobalPool(SetterMethod); + } else { + if (GetterMethod) + AddFactoryMethodToGlobalPool(GetterMethod); + if (SetterMethod) + AddFactoryMethodToGlobalPool(SetterMethod); } ObjCInterfaceDecl *CurrentClass = dyn_cast(CD); diff --git a/clang/test/SemaObjC/objc-class-property.m b/clang/test/SemaObjC/objc-class-property.m index 0058ee3..37a8178 100644 --- a/clang/test/SemaObjC/objc-class-property.m +++ b/clang/test/SemaObjC/objc-class-property.m @@ -33,3 +33,11 @@ int test() { A *a = [[A alloc] init]; return a.x + A.c; } + +void message_id(id me) { + [me y]; +} + +void message_class(Class me) { + [me c2]; +}