f4a2713ac8
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
45 lines
784 B
Objective-C
45 lines
784 B
Objective-C
// RUN: %clang_cc1 -fsyntax-only -Wundeclared-selector -verify -Wno-objc-root-class %s
|
|
|
|
typedef struct objc_selector *SEL;
|
|
|
|
@interface MyClass
|
|
|
|
+ (void) methodA;
|
|
- (void) methodB;
|
|
+ (void) methodD;
|
|
- (void) methodF;
|
|
|
|
@end
|
|
|
|
@implementation MyClass
|
|
|
|
+ (void) methodA {}
|
|
- (void) methodB {}
|
|
+ (void) methodD
|
|
{
|
|
SEL d = @selector(methodD); /* Ok */
|
|
SEL e = @selector(methodE);
|
|
}
|
|
|
|
- (void) methodE
|
|
{
|
|
SEL e = @selector(methodE); /* Ok */
|
|
}
|
|
|
|
- (void) methodF
|
|
{
|
|
SEL e = @selector(methodE); /* Ok */
|
|
}
|
|
|
|
@end
|
|
|
|
int main (void)
|
|
{
|
|
SEL a = @selector(methodA); /* Ok */
|
|
SEL b = @selector(methodB); /* Ok */
|
|
SEL c = @selector(methodC); // expected-warning {{undeclared selector 'methodC'}}
|
|
SEL d = @selector(methodD); /* Ok */
|
|
SEL e = @selector(methodE); /* Ok */
|
|
return 0;
|
|
|
|
}
|