1/* Warn about "slightly" mismatched method signatures if 2 -Wstrict-selector-match is on. */ 3 4/* { dg-do compile } */ 5/* { dg-options "-Wstrict-selector-match" } */ 6 7#include <objc/objc.h> 8 9@interface Base 10- (id) meth1: (Base *)arg1; /* { dg-message "using .\\-\\(id\\)meth1:\\(Base \\*\\)arg1." } */ 11- (id) window; /* { dg-message "using .\\-\\(id\\)window" } */ 12@end 13 14@interface Derived: Base 15- (id) meth1: (Derived *)arg1; /* { dg-message "also found .\\-\\(id\\)meth1:\\(Derived \\*\\)arg1." } */ 16- (Base *) window; /* { dg-message "also found .\\-\\(Base \\*\\)window." } */ 17@end 18 19void foo(void) { 20 id r; 21 22 [r meth1:r]; /* { dg-warning "multiple methods named .\\-meth1:. found" } */ 23 [r window]; /* { dg-warning "multiple methods named .\\-window. found" } */ 24} 25