diff options
Diffstat (limited to 'test/SemaObjC/class-unavail-warning.m')
-rw-r--r-- | test/SemaObjC/class-unavail-warning.m | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/test/SemaObjC/class-unavail-warning.m b/test/SemaObjC/class-unavail-warning.m index 408647ac11c1..b2bd38831101 100644 --- a/test/SemaObjC/class-unavail-warning.m +++ b/test/SemaObjC/class-unavail-warning.m @@ -2,17 +2,35 @@ // rdar://9092208 __attribute__((unavailable("not available"))) -@interface MyClass { // expected-note 5 {{declaration has been explicitly marked unavailable here}} +@interface MyClass { // expected-note 8 {{declaration has been explicitly marked unavailable here}} @public void *_test; + MyClass *ivar; // no error. } - (id)self; - new; + (void)addObject:(id)anObject; +- (MyClass *)meth; // no error. @end +@interface Foo { + MyClass *ivar; // expected-error {{unavailable}} +} +- (MyClass *)meth; // expected-error {{unavailable}} +@end + +@interface MyClass (Cat1) +- (MyClass *)meth; // no error. +@end + +@interface MyClass (Cat2) // no error. +@end + +@implementation MyClass (Cat2) // expected-error {{unavailable}} +@end + int main() { [MyClass new]; // expected-error {{'MyClass' is unavailable: not available}} [MyClass self]; // expected-error {{'MyClass' is unavailable: not available}} |