summaryrefslogtreecommitdiffstats
path: root/test/SemaObjC/attr-designated-init.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaObjC/attr-designated-init.m')
-rw-r--r--test/SemaObjC/attr-designated-init.m12
1 files changed, 11 insertions, 1 deletions
diff --git a/test/SemaObjC/attr-designated-init.m b/test/SemaObjC/attr-designated-init.m
index a8673e1..0508588 100644
--- a/test/SemaObjC/attr-designated-init.m
+++ b/test/SemaObjC/attr-designated-init.m
@@ -1,6 +1,7 @@
// RUN: %clang_cc1 -fsyntax-only -Wno-incomplete-implementation -verify -fblocks %s
#define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
+#define NS_UNAVAILABLE __attribute__((unavailable))
void fnfoo(void) NS_DESIGNATED_INITIALIZER; // expected-error {{only applies to init methods of interface or class extension declarations}}
@@ -253,7 +254,7 @@ __attribute__((objc_root_class))
__attribute__((objc_root_class))
@interface MyObject
- (instancetype)initWithStuff:(id)stuff __attribute__((objc_designated_initializer));
-- (instancetype)init __attribute__((unavailable));
+- (instancetype)init NS_UNAVAILABLE;
@end
@implementation MyObject
@@ -378,6 +379,15 @@ __attribute__((objc_root_class))
}
@end
+@interface SubTest1 : Test1
+-(instancetype)init NS_UNAVAILABLE;
+-(instancetype)initWithRequiredParameter:(id)foo NS_DESIGNATED_INITIALIZER;
+@end
+@implementation SubTest1
+-(instancetype)initWithRequiredParameter:(id)foo {
+ return [super init];
+}
+@end
@interface Test2 : NSObject
@end
OpenPOWER on IntegriCloud