summaryrefslogtreecommitdiff
path: root/gcc/testsuite/obj-c++.dg/protocol-forward-1.mm
blob: 03c7ae065da8cb8716e786aa756a2e357acd9d0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, December 2010.  */
/* { dg-do compile } */

/* Test that all protocols appearing in @interface declarations are
   real (ie, we saw a full @protocol definition with list of methods),
   and not just forward-references (ie, "@protocol NSObject;").  */

#include <objc/objc.h>

@protocol MyProtocol;

@protocol MyProtocol2
- (int)method2;
@end

@interface MyClass <MyProtocol> /* { dg-warning "definition of protocol .MyProtocol. not found" } */
@end

@interface MyClass2 <MyProtocol2> /* Ok */
@end

@interface MyClass2 (Category) <MyProtocol>  /* { dg-warning "definition of protocol .MyProtocol. not found" } */
@end

@protocol MyProtocol3 <MyProtocol> /* Ok */
@end