summaryrefslogtreecommitdiff
path: root/gcc/testsuite/obj-c++.dg/method-4.mm
blob: e94f8f1b77096c5ce35e48769c86dd6991f8352e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* Warn about "slightly" mismatched method signatures if 
   -Wstrict-selector-match is on.  */

/* { dg-do compile } */
/* { dg-options "-Wstrict-selector-match" } */

#include <objc/objc.h>

@interface Base
- (id) meth1: (Base *)arg1; /* { dg-message "using .\\-\\(id\\)meth1:\\(Base \\*\\)arg1." } */
- (id) window;              /* { dg-message "using .\\-\\(id\\)window" } */
@end

@interface Derived: Base
- (id) meth1: (Derived *)arg1; /* { dg-message "also found .\\-\\(id\\)meth1:\\(Derived \\*\\)arg1." } */
- (Base *) window;             /* { dg-message "also found .\\-\\(Base \\*\\)window." } */
@end

void foo(void) {
  id r;

  [r meth1:r];  /* { dg-warning "multiple methods named .\\-meth1:. found" } */
  [r window];   /* { dg-warning "multiple methods named .\\-window. found" } */
}