1 | // 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 | |
9 | @implementation I<P> @end // expected-error {{@implementation declaration cannot be protocol qualified}} |
10 | |
11 | @interface J < P,P > |
12 | @end |
13 | |
14 | |
15 | @implementation J < P,P > // expected-error {{@implementation declaration cannot be protocol qualified}} |
16 | @end |
17 | |
18 | @interface K @end |
19 | |
20 | @implementation K <P // expected-error {{@implementation declaration cannot be protocol qualified}} expected-note{{to match this '<'}} |
21 | @end // expected-error {{expected '>'}} |
22 | |
23 | // rdar://13920026 |
24 | @implementation I (Cat) <P> // expected-error {{@implementation declaration cannot be protocol qualified}} |
25 | - (void) Meth {} |
26 | @end |
27 | |
28 | @implementation I (Cat1) <P // expected-error {{@implementation declaration cannot be protocol qualified}} |
29 | @end // expected-error {{expected '>'}} |
30 | |