forked from OSchip/llvm-project
objc-arc: 'Class' property is implicitly __unsafe_unretained.
// rdar://10239594 llvm-svn: 141915
This commit is contained in:
parent
a7ad9f3932
commit
df4f7ca331
|
@ -39,7 +39,7 @@ static Qualifiers::ObjCLifetime getImpliedARCOwnership(
|
|||
if (attrs & (ObjCPropertyDecl::OBJC_PR_retain |
|
||||
ObjCPropertyDecl::OBJC_PR_strong |
|
||||
ObjCPropertyDecl::OBJC_PR_copy)) {
|
||||
return Qualifiers::OCL_Strong;
|
||||
return type->getObjCARCImplicitLifetime();
|
||||
} else if (attrs & ObjCPropertyDecl::OBJC_PR_weak) {
|
||||
return Qualifiers::OCL_Weak;
|
||||
} else if (attrs & ObjCPropertyDecl::OBJC_PR_unsafe_unretained) {
|
||||
|
|
|
@ -110,3 +110,18 @@
|
|||
@synthesize isAutosaving = _isAutosaving;
|
||||
@end
|
||||
|
||||
// rdar://10239594
|
||||
// Test for 'Class' properties being unretained.
|
||||
@interface MyClass {
|
||||
@private
|
||||
Class _controllerClass;
|
||||
id _controllerId;
|
||||
}
|
||||
@property (copy) Class controllerClass;
|
||||
@property (copy) id controllerId;
|
||||
@end
|
||||
|
||||
@implementation MyClass
|
||||
@synthesize controllerClass = _controllerClass;
|
||||
@synthesize controllerId = _controllerId;
|
||||
@end
|
||||
|
|
Loading…
Reference in New Issue