1 // RUN: %clang_cc1 -fsyntax-only -verify %s
3 typedef struct { int y; } Abstract;
5 typedef struct { int x; } Alternate;
7 #define INTERFERE_TYPE Alternate*
10 @property Abstract *x; // expected-note {{using}}
14 @property Abstract *y; // expected-note {{using}}
17 @interface B (Category)
18 @property Abstract *z; // expected-note {{using}}
21 @interface InterferencePre
22 -(void) x; // expected-note {{also found}}
23 -(void) y; // expected-note {{also found}}
24 -(void) z; // expected-note {{also found}}
25 -(void) setX: (INTERFERE_TYPE) arg;
26 -(void) setY: (INTERFERE_TYPE) arg;
27 -(void) setZ: (INTERFERE_TYPE) arg;
31 Abstract *l = [a0 x]; // expected-warning {{multiple methods named 'x' found}}
35 Abstract *l = [a0 y]; // expected-warning {{multiple methods named 'y' found}}
39 Abstract *l = [a0 z]; // expected-warning {{multiple methods named 'z' found}}
42 void f3(id a0, Abstract *a1) {
46 void f4(id a0, Abstract *a1) {
50 void f5(id a0, Abstract *a1) {