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