summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2014-03-18 00:10:37 +0000
committerFariborz Jahanian <fjahanian@apple.com>2014-03-18 00:10:37 +0000
commit19a08bbb9a8e6e43fe250d9c29afde3ca4a3ef51 (patch)
tree7863ab5f2ec52e2cc2a62f4a208052c27e0f3bc7 /clang/test
parent0e8d401c5332e8e8f1edb91f722a3c6b5476bde2 (diff)
downloadbcm5719-llvm-19a08bbb9a8e6e43fe250d9c29afde3ca4a3ef51.tar.gz
bcm5719-llvm-19a08bbb9a8e6e43fe250d9c29afde3ca4a3ef51.zip
Objective-C. No need to issue deprecated warning if deprecated method
in class extension is being implemented in primary class implementation (no overriding is involved). // rdar://16249335 llvm-svn: 204093
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaObjC/warn-deprecated-implementations.m16
1 files changed, 14 insertions, 2 deletions
diff --git a/clang/test/SemaObjC/warn-deprecated-implementations.m b/clang/test/SemaObjC/warn-deprecated-implementations.m
index e346fbebec9..6e208b5be79 100644
--- a/clang/test/SemaObjC/warn-deprecated-implementations.m
+++ b/clang/test/SemaObjC/warn-deprecated-implementations.m
@@ -11,13 +11,13 @@
@end
@interface A()
-- (void) E __attribute__((deprecated)); // expected-note {{method 'E' declared here}}
+- (void) E __attribute__((deprecated));
@end
@implementation A
+ (void)F { } // No warning, implementing its own deprecated method
- (void) D {} // expected-warning {{Implementing deprecated method}}
-- (void) E {} // expected-warning {{Implementing deprecated method}}
+- (void) E {} // No warning, implementing deprecated method in its class extension.
@end
@interface A(CAT)
@@ -53,3 +53,15 @@ __attribute__((deprecated))
- (void) B {} // expected-warning {{Implementing deprecated method}}
@end
+@interface Test
+@end
+
+@interface Test()
+- (id)initSpecialInPrivateHeader __attribute__((deprecated));
+@end
+
+@implementation Test
+- (id)initSpecialInPrivateHeader {
+ return (void *)0;
+}
+@end
OpenPOWER on IntegriCloud