summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2014-09-15 16:41:47 +0000
committerFariborz Jahanian <fjahanian@apple.com>2014-09-15 16:41:47 +0000
commit18625ee75c09cf6fb2012d1df5096fd9e59bcba0 (patch)
tree6d52d8ff6463ca01e16a3fa7cdd29b8c4e80f11c
parent1a08866aab6fd54b2fbe75f89f4a42c5f820e65a (diff)
downloadbcm5719-llvm-18625ee75c09cf6fb2012d1df5096fd9e59bcba0.tar.gz
bcm5719-llvm-18625ee75c09cf6fb2012d1df5096fd9e59bcba0.zip
Objective-C SDK modernizer. Do not modernize an enum
which already has the underlying interger type specification. // rdar://1826225 llvm-svn: 217783
-rw-r--r--clang/lib/ARCMigrate/ObjCMT.cpp2
-rw-r--r--clang/test/ARCMT/objcmt-ns-macros.m8
-rw-r--r--clang/test/ARCMT/objcmt-ns-macros.m.result8
3 files changed, 17 insertions, 1 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp
index fe2fd6165d5..78dbd87a053 100644
--- a/clang/lib/ARCMigrate/ObjCMT.cpp
+++ b/clang/lib/ARCMigrate/ObjCMT.cpp
@@ -760,7 +760,7 @@ bool ObjCMigrateASTConsumer::migrateNSEnumDecl(ASTContext &Ctx,
const EnumDecl *EnumDcl,
const TypedefDecl *TypedefDcl) {
if (!EnumDcl->isCompleteDefinition() || EnumDcl->getIdentifier() ||
- EnumDcl->isDeprecated())
+ EnumDcl->isDeprecated() || EnumDcl->getIntegerTypeSourceInfo())
return false;
if (!TypedefDcl) {
if (NSIntegerTypedefed) {
diff --git a/clang/test/ARCMT/objcmt-ns-macros.m b/clang/test/ARCMT/objcmt-ns-macros.m
index 1bf55d8ed46..851c4907588 100644
--- a/clang/test/ARCMT/objcmt-ns-macros.m
+++ b/clang/test/ARCMT/objcmt-ns-macros.m
@@ -294,3 +294,11 @@ enum {
NSWindowToolbarButton,
NSWindowDocumentIconButton
};
+
+// rdar://18262255
+typedef enum : NSUInteger {
+ ThingOne,
+ ThingTwo,
+ ThingThree,
+} Thing;
+
diff --git a/clang/test/ARCMT/objcmt-ns-macros.m.result b/clang/test/ARCMT/objcmt-ns-macros.m.result
index 0b640ac3567..003b3c7f2a0 100644
--- a/clang/test/ARCMT/objcmt-ns-macros.m.result
+++ b/clang/test/ARCMT/objcmt-ns-macros.m.result
@@ -277,3 +277,11 @@ typedef NS_ENUM(NSUInteger, NSSelectionDirection) {
};
// standard window buttons
+
+// rdar://18262255
+typedef enum : NSUInteger {
+ ThingOne,
+ ThingTwo,
+ ThingThree,
+} Thing;
+
OpenPOWER on IntegriCloud