blob: 265e5d2691fe6c544081acc611ff999c7067b921 [file] [log] [blame]
Daniel Dunbard7d5f022009-03-24 02:24:46 +00001// RUN: clang-cc -fsyntax-only -verify %s
Fariborz Jahanian4b6df3f2007-10-04 00:22:33 +00002
Fariborz Jahanian894c57f2007-09-21 15:40:54 +00003@interface INTF1 @end
4
5@protocol p1,p2,p3;
6
7@protocol p1;
8
9@protocol PROTO1
10- (INTF1<p1>*) meth;
11@end
12
Chris Lattner58fe03b2009-04-12 08:43:13 +000013@protocol PROTO2<p1>
Fariborz Jahanian894c57f2007-09-21 15:40:54 +000014@end
15
16@protocol p1 @end
17
Chris Lattnerb8b96af2008-11-23 22:46:27 +000018@protocol PROTO<p1> // expected-note {{previous definition is here}}
Fariborz Jahanian894c57f2007-09-21 15:40:54 +000019@end
20
Fariborz Jahaniane2573e52009-04-06 23:43:32 +000021@protocol PROTO<p1> // expected-warning {{duplicate protocol definition of 'PROTO'}}
Fariborz Jahanian894c57f2007-09-21 15:40:54 +000022@end
23
24@protocol PROTO3<p1, p1>
25@end
26
27@protocol p2 <p1>
28@end
29
Chris Lattner58fe03b2009-04-12 08:43:13 +000030@protocol PROTO4 <p1, p2, PROTO, PROTO3, p3>
31@end
32
33
34// rdar://6771034
35@protocol XX;
36@protocol YY <XX> // Use of declaration of XX here should not cause a warning.
37- zz;
Fariborz Jahanian894c57f2007-09-21 15:40:54 +000038@end