diff options
| -rw-r--r-- | clang/lib/ARCMigrate/ObjCMT.cpp | 7 | ||||
| -rw-r--r-- | clang/test/ARCMT/objcmt-ns-macros.m | 5 | ||||
| -rw-r--r-- | clang/test/ARCMT/objcmt-ns-macros.m.result | 5 |
3 files changed, 14 insertions, 3 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp index 2f4a3e7401c..282006b5769 100644 --- a/clang/lib/ARCMigrate/ObjCMT.cpp +++ b/clang/lib/ARCMigrate/ObjCMT.cpp @@ -399,7 +399,7 @@ static bool rewriteToNSEnumDecl(const EnumDecl *EnumDcl, return false; } -void ObjCMigrateASTConsumer::migrateProtocolConformance(ASTContext &Ctx, +void ObjCMigrateASTConsumer::migrateProtocolConformance(ASTContext &Ctx, const ObjCImplementationDecl *ImpDecl) { const ObjCInterfaceDecl *IDecl = ImpDecl->getClassInterface(); if (!IDecl || ObjCProtocolDecls.empty()) @@ -514,8 +514,9 @@ void ObjCMigrateASTConsumer::HandleTranslationUnit(ASTContext &Ctx) { else if (const EnumDecl *ED = dyn_cast<EnumDecl>(*D)) { DeclContext::decl_iterator N = D; ++N; - if (const TypedefDecl *TD = dyn_cast<TypedefDecl>(*N)) - migrateNSEnumDecl(Ctx, ED, TD); + if (N != DEnd) + if (const TypedefDecl *TD = dyn_cast<TypedefDecl>(*N)) + migrateNSEnumDecl(Ctx, ED, TD); } } diff --git a/clang/test/ARCMT/objcmt-ns-macros.m b/clang/test/ARCMT/objcmt-ns-macros.m index e56c4cf2dd0..b9069f57923 100644 --- a/clang/test/ARCMT/objcmt-ns-macros.m +++ b/clang/test/ARCMT/objcmt-ns-macros.m @@ -27,3 +27,8 @@ enum { typedef NSUInteger UITableViewCellStyle; +enum { + UNOne, + UNTwo +}; + diff --git a/clang/test/ARCMT/objcmt-ns-macros.m.result b/clang/test/ARCMT/objcmt-ns-macros.m.result index 8a09bff3b89..fcfe077039c 100644 --- a/clang/test/ARCMT/objcmt-ns-macros.m.result +++ b/clang/test/ARCMT/objcmt-ns-macros.m.result @@ -27,3 +27,8 @@ typedef NS_OPTIONS(NSUInteger, UITableViewCellStyle) { +enum { + UNOne, + UNTwo +}; + |

