diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2014-06-18 17:58:27 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2014-06-18 17:58:27 +0000 |
| commit | 285b6b658531e257d0f495111939777e3dc74348 (patch) | |
| tree | 13e000557c02d777e66e2985760fb0d4beddebfb /clang/test/SemaObjC | |
| parent | 85f0dbce5c74e46ff8f31353717faaf3ac58ab9e (diff) | |
| download | bcm5719-llvm-285b6b658531e257d0f495111939777e3dc74348.tar.gz bcm5719-llvm-285b6b658531e257d0f495111939777e3dc74348.zip | |
Objective-C. Attributes on class declarations carry over
to forward class declarations for diagnosis.
// rdar://16681279
llvm-svn: 211195
Diffstat (limited to 'clang/test/SemaObjC')
| -rw-r--r-- | clang/test/SemaObjC/class-unavail-warning.m | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/clang/test/SemaObjC/class-unavail-warning.m b/clang/test/SemaObjC/class-unavail-warning.m index a337c97ec08..b903e275b85 100644 --- a/clang/test/SemaObjC/class-unavail-warning.m +++ b/clang/test/SemaObjC/class-unavail-warning.m @@ -15,7 +15,7 @@ __attribute__((unavailable("not available"))) @end -@interface Foo { +@interface Gorf { MyClass *ivar; // expected-error {{unavailable}} } - (MyClass *)meth; // expected-error {{unavailable}} @@ -40,3 +40,30 @@ int main() { return 0; } + +// rdar://16681279 +@interface NSObject @end + +__attribute__((visibility("default"))) __attribute__((availability(macosx,unavailable))) +@interface Foo : NSObject @end // expected-note 3 {{'Foo' has been explicitly marked unavailable here}} +@interface AppDelegate : NSObject +@end + +@class Foo; + +@implementation AppDelegate +- (void) applicationDidFinishLaunching +{ + Foo *foo = 0; // expected-error {{'Foo' is unavailable}} +} +@end + +@class Foo; +Foo *g_foo = 0; // expected-error {{'Foo' is unavailable}} + +@class Foo; +@class Foo; +@class Foo; +Foo * f_func() { // expected-error {{'Foo' is unavailable}} + return 0; +} |

