blob: 0594eb728485ee348a011888f9093f8e91a9de70 [file] [log] [blame]
Fariborz Jahanian4ffc5412007-12-12 01:00:23 +00001// RUN: clang -fsyntax-only -verify %s
2
3@protocol MyProto1
4@end
5
6@protocol MyProto2
7@end
8
9@interface INTF @end
10
11INTF <MyProto1> * Func(INTF <MyProto1, MyProto2> *p2)
12{
13 return p2;
14}
15
16
17INTF <MyProto1> * Func1(INTF <MyProto1, MyProto2> *p2)
18{
19 return p2;
20}
21
22INTF <MyProto1, MyProto2> * Func2(INTF <MyProto1> *p2)
23{
24 Func(p2); // expected-warning {{incompatible pointer types passing}}
25 return p2; // expected-warning {{incompatible pointer types passing}}
26}
27
28
29
30INTF <MyProto1> * Func3(INTF <MyProto2> *p2)
31{
32 return p2; // expected-warning {{incompatible pointer types passing}}
33}
34
35
36INTF <MyProto1, MyProto2> * Func4(INTF <MyProto2, MyProto1> *p2)
37{
38 return p2;
39}
40