From 7923ef41e18bf9fd31b2753cb026874001c36eb0 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Fri, 2 Mar 2012 21:50:02 +0000 Subject: objc: When issue diagnostic about deprecated method, also issue the note if it is because message is sent to a forward class declaration in delayed diagnostic. // rdar://10290322 llvm-svn: 151942 --- .../SemaObjC/warn-forward-class-attr-deprecated.m | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 clang/test/SemaObjC/warn-forward-class-attr-deprecated.m (limited to 'clang/test') diff --git a/clang/test/SemaObjC/warn-forward-class-attr-deprecated.m b/clang/test/SemaObjC/warn-forward-class-attr-deprecated.m new file mode 100644 index 00000000000..26e019627c4 --- /dev/null +++ b/clang/test/SemaObjC/warn-forward-class-attr-deprecated.m @@ -0,0 +1,24 @@ +// RUN: %clang_cc1 %s -fsyntax-only -verify +// rdar://10290322 + +@class ABGroupImportFilesScope; // expected-note {{forward declaration of class here}} + +@interface I1 +- (id) filenames __attribute__((deprecated)); +@end + +@interface I2 +- (id) Meth : (ABGroupImportFilesScope*) scope; +- (id) filenames __attribute__((deprecated)); +- (id)initWithAccount: (id)account filenames:(id)filenames; +@end + +@implementation I2 +- (id) Meth : (ABGroupImportFilesScope*) scope +{ + id p = [self initWithAccount : 0 filenames :[scope filenames]]; // expected-warning {{'filenames' maybe deprecated because receiver type is unknown}} + return 0; +} +- (id) filenames { return 0; } +- (id)initWithAccount: (id)account filenames:(id)filenames { return 0; } +@end -- cgit v1.2.3