diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2019-01-19 18:44:43 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2019-01-19 18:44:43 +0000 |
commit | 292698a8537d1e51bbcd339f8a19b2b7d7f1e1f6 (patch) | |
tree | 0bdd2b729cbd6c75c16469aab40c62cb90f85fb3 /test/SemaObjC/call-unavailable-init-in-self.m | |
parent | 676fbe8105eeb6ff4bb2ed261cb212fcfdbe7b63 (diff) |
Notes
Diffstat (limited to 'test/SemaObjC/call-unavailable-init-in-self.m')
-rw-r--r-- | test/SemaObjC/call-unavailable-init-in-self.m | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/test/SemaObjC/call-unavailable-init-in-self.m b/test/SemaObjC/call-unavailable-init-in-self.m index fa6f670cc997f..48fc2326af457 100644 --- a/test/SemaObjC/call-unavailable-init-in-self.m +++ b/test/SemaObjC/call-unavailable-init-in-self.m @@ -5,13 +5,24 @@ + (instancetype)new; + (instancetype)alloc; +- (void)declaredInSuper; + +@end + +@interface NSObject (Category) + +- (void)declaredInSuperCategory; + @end @interface Sub: NSObject - (instancetype)init __attribute__((unavailable)); // expected-note 4 {{'init' has been explicitly marked unavailable here}} -- (void)notImplemented __attribute__((unavailable)); // expected-note {{'notImplemented' has been explicitly marked unavailable here}} +- (void)notImplemented __attribute__((unavailable)); + +- (void)declaredInSuper __attribute__((unavailable)); +- (void)declaredInSuperCategory __attribute__((unavailable)); @end @@ -34,7 +45,14 @@ } - (void)reportUseOfUnimplemented { - [self notImplemented]; // expected-error {{'notImplemented' is unavailable}} + [self notImplemented]; +} + +- (void)allowSuperCallUsingSelf { + [self declaredInSuper]; + [[Sub alloc] declaredInSuper]; + [self declaredInSuperCategory]; + [[Sub alloc] declaredInSuperCategory]; } @end |