diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2014-10-09 22:04:27 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2014-10-09 22:04:27 +0000 |
commit | d2241bf561c16ae50649096c5ed0ba5a2b4494a1 (patch) | |
tree | 28ead0fd2f7801549897b9dc4908964b0e263a66 /clang/lib/ARCMigrate/ObjCMT.cpp | |
parent | 6030e0459193d6a4bd42aab8f29000f252250290 (diff) | |
download | bcm5719-llvm-d2241bf561c16ae50649096c5ed0ba5a2b4494a1.tar.gz bcm5719-llvm-d2241bf561c16ae50649096c5ed0ba5a2b4494a1.zip |
Objective-C SDK modernization. import Foundation even
when a previous definition of NS_OPTION is available
; e.g. from a pch. enhancement to rdar://18498550
llvm-svn: 219448
Diffstat (limited to 'clang/lib/ARCMigrate/ObjCMT.cpp')
-rw-r--r-- | clang/lib/ARCMigrate/ObjCMT.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp index 7eebdb78d89..c6e4aaaac0c 100644 --- a/clang/lib/ARCMigrate/ObjCMT.cpp +++ b/clang/lib/ARCMigrate/ObjCMT.cpp @@ -918,8 +918,7 @@ bool ObjCMigrateASTConsumer::migrateNSEnumDecl(ASTContext &Ctx, if (const EnumType *EnumTy = qt->getAs<EnumType>()) { if (EnumTy->getDecl() == EnumDcl) { bool NSOptions = UseNSOptionsMacro(PP, Ctx, EnumDcl); - if (!Ctx.Idents.get("NS_ENUM").hasMacroDefinition() && - !InsertFoundation(Ctx, TypedefDcl->getLocStart())) + if (!InsertFoundation(Ctx, TypedefDcl->getLocStart())) return false; edit::Commit commit(*Editor); rewriteToNSMacroDecl(EnumDcl, TypedefDcl, *NSAPIObj, commit, !NSOptions); @@ -932,9 +931,7 @@ bool ObjCMigrateASTConsumer::migrateNSEnumDecl(ASTContext &Ctx, // We may still use NS_OPTIONS based on what we find in the enumertor list. bool NSOptions = UseNSOptionsMacro(PP, Ctx, EnumDcl); - // For sanity check, see if macro NS_ENUM can be seen. - if (!Ctx.Idents.get("NS_ENUM").hasMacroDefinition() - && !InsertFoundation(Ctx, TypedefDcl->getLocStart())) + if (!InsertFoundation(Ctx, TypedefDcl->getLocStart())) return false; edit::Commit commit(*Editor); bool Res = rewriteToNSEnumDecl(EnumDcl, TypedefDcl, *NSAPIObj, @@ -1727,9 +1724,9 @@ bool ObjCMigrateASTConsumer::InsertFoundation(ASTContext &Ctx, return false; edit::Commit commit(*Editor); if (Ctx.getLangOpts().Modules) - commit.insert(Loc, "@import Foundation;\n"); + commit.insert(Loc, "#ifndef NS_ENUM\n@import Foundation;\n#endif\n"); else - commit.insert(Loc, "#import <Foundation/Foundation.h>\n"); + commit.insert(Loc, "#ifndef NS_ENUM\n#import <Foundation/Foundation.h>\n#endif\n"); Editor->commit(commit); FoundationIncluded = true; return true; |