blob: 179e2d27479bd195b070f114539cd7f5ccef0154 [file] [log] [blame]
Fariborz Jahanian46ed4d92013-04-24 23:23:47 +00001// RUN: %clang_cc1 -fsyntax-only -Wno-objc-root-class -verify %s
2// rdar://12233858
3
4@protocol P
5@end
6
7@interface I @end
8
Ismail Pazarbasi025f4282014-03-07 22:36:23 +00009@implementation I<P> @end // expected-error {{@implementation declaration cannot be protocol qualified}}
Fariborz Jahanian46ed4d92013-04-24 23:23:47 +000010
11@interface J < P,P >
12@end
13
14
Ismail Pazarbasi025f4282014-03-07 22:36:23 +000015@implementation J < P,P > // expected-error {{@implementation declaration cannot be protocol qualified}}
Fariborz Jahanian46ed4d92013-04-24 23:23:47 +000016@end
17
18@interface K @end
19
Douglas Gregor85f3f952015-07-07 03:57:15 +000020@implementation K <P // expected-error {{@implementation declaration cannot be protocol qualified}} expected-note{{to match this '<'}}
Fariborz Jahanian46ed4d92013-04-24 23:23:47 +000021@end // expected-error {{expected '>'}}
Fariborz Jahanian85888552013-05-17 17:58:11 +000022
23// rdar://13920026
Ismail Pazarbasi025f4282014-03-07 22:36:23 +000024@implementation I (Cat) <P> // expected-error {{@implementation declaration cannot be protocol qualified}}
Fariborz Jahanian85888552013-05-17 17:58:11 +000025- (void) Meth {}
26@end
27
Ismail Pazarbasi025f4282014-03-07 22:36:23 +000028@implementation I (Cat1) <P // expected-error {{@implementation declaration cannot be protocol qualified}}
Fariborz Jahanian85888552013-05-17 17:58:11 +000029@end // expected-error {{expected '>'}}