summaryrefslogtreecommitdiffstats
path: root/clang/lib/ARCMigrate
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-11-13 00:08:36 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-11-13 00:08:36 +0000
commit2e793d6124e02b9eb12f63140917129ab3dc9dc6 (patch)
tree058bf5695d929852e2dc318b6ab9efc52f2c3919 /clang/lib/ARCMigrate
parent008c45f1a1a7a60736a0afbb03b57f43b11dcf49 (diff)
downloadbcm5719-llvm-2e793d6124e02b9eb12f63140917129ab3dc9dc6.tar.gz
bcm5719-llvm-2e793d6124e02b9eb12f63140917129ab3dc9dc6.zip
ObjectiveC migrator. Place use of NS_NONATOMIC_IOSONLY
on inferred property attribute under -objcmt-ns-nonatomic-iosonly option. // rdar://15442742 llvm-svn: 194532
Diffstat (limited to 'clang/lib/ARCMigrate')
-rw-r--r--clang/lib/ARCMigrate/ObjCMT.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp
index 332fc96ef5d..9dd810415e9 100644
--- a/clang/lib/ARCMigrate/ObjCMT.cpp
+++ b/clang/lib/ARCMigrate/ObjCMT.cpp
@@ -278,11 +278,12 @@ static void rewriteToObjCProperty(const ObjCMethodDecl *Getter,
const ObjCMethodDecl *Setter,
const NSAPI &NS, edit::Commit &commit,
unsigned LengthOfPrefix,
- bool Atomic, bool AvailabilityArgsMatch) {
+ bool Atomic, bool UseNsIosOnlyMacro,
+ bool AvailabilityArgsMatch) {
ASTContext &Context = NS.getASTContext();
bool LParenAdded = false;
std::string PropertyString = "@property ";
- if (Context.Idents.get("NS_NONATOMIC_IOSONLY").hasMacroDefinition()) {
+ if (UseNsIosOnlyMacro && Context.Idents.get("NS_NONATOMIC_IOSONLY").hasMacroDefinition()) {
PropertyString += "(NS_NONATOMIC_IOSONLY";
LParenAdded = true;
} else if (!Atomic) {
@@ -1078,6 +1079,8 @@ bool ObjCMigrateASTConsumer::migrateProperty(ASTContext &Ctx,
LengthOfPrefix,
(ASTMigrateActions &
FrontendOptions::ObjCMT_AtomicProperty) != 0,
+ (ASTMigrateActions &
+ FrontendOptions::ObjCMT_NsAtomicIOSOnlyProperty) != 0,
AvailabilityArgsMatch);
Editor->commit(commit);
return true;
@@ -1090,6 +1093,8 @@ bool ObjCMigrateASTConsumer::migrateProperty(ASTContext &Ctx,
LengthOfPrefix,
(ASTMigrateActions &
FrontendOptions::ObjCMT_AtomicProperty) != 0,
+ (ASTMigrateActions &
+ FrontendOptions::ObjCMT_NsAtomicIOSOnlyProperty) != 0,
/*AvailabilityArgsMatch*/false);
Editor->commit(commit);
return true;
OpenPOWER on IntegriCloud