mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-09 09:56:06 +00:00

Previously all unimplemented methods for a class were grouped under a single warning, with all the unimplemented methods mentioned as notes. Based on feedback from users, most users would like a separate warning for each method, with a note pointing back to the original method declaration. Implements <rdar://problem/13350414> llvm-svn: 178097
33 lines
781 B
Objective-C
33 lines
781 B
Objective-C
// RUN: %clang_cc1 -fsyntax-only -Wno-protocol -verify -Wno-objc-root-class %s
|
|
// rdar: // 7056600
|
|
|
|
@protocol P
|
|
- PMeth;
|
|
@end
|
|
|
|
// Test1
|
|
@interface I <P> @end
|
|
@implementation I @end // no warning with -Wno-protocol
|
|
|
|
// Test2
|
|
@interface C -PMeth; @end
|
|
@interface C (Category) <P> @end
|
|
@implementation C (Category) @end // no warning with -Wno-protocol
|
|
|
|
// Test2
|
|
@interface super - PMeth; @end
|
|
@interface J : super <P>
|
|
- PMeth; // expected-note {{method 'PMeth' declared here}}
|
|
@end
|
|
@implementation J @end // expected-warning {{method definition for 'PMeth' not found}}
|
|
|
|
// Test3
|
|
@interface K : super <P>
|
|
@end
|
|
@implementation K @end // no warning with -Wno-protocol
|
|
|
|
// Test4
|
|
@interface Root @end
|
|
@interface L : Root<P> @end
|
|
@implementation L @end // no warning with -Wno-protocol
|