forked from OSchip/llvm-project
Objective-C. Fixes a bogus warning on unimplemented
selectors because we were not going through entire elements in list of all implemented selectors. // rdar://16428638 llvm-svn: 204852
This commit is contained in:
parent
84aa5e555f
commit
ec762bda73
|
@ -2402,11 +2402,15 @@ ObjCMethodDecl *Sema::LookupImplementedMethodInGlobalPool(Selector Sel) {
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
GlobalMethods &Methods = Pos->second;
|
GlobalMethods &Methods = Pos->second;
|
||||||
|
for (const ObjCMethodList *Method = &Methods.first; Method;
|
||||||
|
Method = Method->getNext())
|
||||||
|
if (Method->Method && Method->Method->isDefined())
|
||||||
|
return Method->Method;
|
||||||
|
|
||||||
if (Methods.first.Method && Methods.first.Method->isDefined())
|
for (const ObjCMethodList *Method = &Methods.second; Method;
|
||||||
return Methods.first.Method;
|
Method = Method->getNext())
|
||||||
if (Methods.second.Method && Methods.second.Method->isDefined())
|
if (Method->Method && Method->Method->isDefined())
|
||||||
return Methods.second.Method;
|
return Method->Method;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -110,3 +110,27 @@ extern SEL MySelector(SEL s);
|
||||||
@interface USETextSub : USEText
|
@interface USETextSub : USEText
|
||||||
- (int) invalidate : (id)arg;
|
- (int) invalidate : (id)arg;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
// rdar://16428638
|
||||||
|
@interface I16428638
|
||||||
|
- (int) compare: (I16428638 *) arg1; // commenting out this line avoids the warning
|
||||||
|
@end
|
||||||
|
|
||||||
|
@interface J16428638
|
||||||
|
- (int) compare: (J16428638 *) arg1;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation J16428638
|
||||||
|
- (void)method {
|
||||||
|
SEL s = @selector(compare:); // spurious warning
|
||||||
|
(void)s;
|
||||||
|
}
|
||||||
|
- (int) compare: (J16428638 *) arg1 {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
|
void test16428638() {
|
||||||
|
SEL s = @selector(compare:);
|
||||||
|
(void)s;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue