diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2013-12-12 01:02:00 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2013-12-12 01:02:00 +0000 |
commit | 49e69ee557ad492d7a36319671f85b88b9f66827 (patch) | |
tree | cdb0692fa472080cc53686acd23e5c431c873a8a /clang/lib/ARCMigrate/ObjCMT.cpp | |
parent | e6a877518368174ea3c56016e16ed03dbf15a2e8 (diff) | |
download | bcm5719-llvm-49e69ee557ad492d7a36319671f85b88b9f66827.tar.gz bcm5719-llvm-49e69ee557ad492d7a36319671f85b88b9f66827.zip |
Objective-C migrator: when inferring 'readonly' property of an
Objective-C object conforming to 'NSCopying' protocol, infer
a 'copy' property, instead of 'strong'. // rdar://15525937
llvm-svn: 197102
Diffstat (limited to 'clang/lib/ARCMigrate/ObjCMT.cpp')
-rw-r--r-- | clang/lib/ARCMigrate/ObjCMT.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp index d25831abbc5..cd0d01957e4 100644 --- a/clang/lib/ARCMigrate/ObjCMT.cpp +++ b/clang/lib/ARCMigrate/ObjCMT.cpp @@ -324,7 +324,9 @@ void MigrateBlockOrFunctionPointerTypeVariable(std::string & PropertyString, static const char *PropertyMemoryAttribute(ASTContext &Context, QualType ArgType) { Qualifiers::ObjCLifetime propertyLifetime = ArgType.getObjCLifetime(); bool RetainableObject = ArgType->isObjCRetainableType(); - if (RetainableObject && propertyLifetime == Qualifiers::OCL_Strong) { + if (RetainableObject && + (propertyLifetime == Qualifiers::OCL_Strong + || propertyLifetime == Qualifiers::OCL_None)) { if (const ObjCObjectPointerType *ObjPtrTy = ArgType->getAs<ObjCObjectPointerType>()) { ObjCInterfaceDecl *IDecl = ObjPtrTy->getObjectType()->getInterface(); |