OSDN Git Service

Add NIOS2 support. Code from SourceyG++.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / objc.dg / comp-types-6.m
1 /* Test assignments and comparisons involving category protocols.  */
2 /* Author: Nicola Pero <nicola@brainstorm.co.uk>.  */
3 /* { dg-do compile } */
4
5 #include <objc/objc.h>
6
7 @protocol MyProtocol
8 - (void) method;
9 @end
10
11 @interface MyClass
12 @end
13
14 @interface MyClass (Addition) <MyProtocol>
15 - (void) method;
16 @end
17
18 @interface MyOtherClass : MyClass
19 @end
20
21 int main()
22 {
23   id <MyProtocol> obj_p = nil;
24   MyClass *obj_cp = nil;
25   MyOtherClass *obj_cp2 = nil;
26
27   obj_cp = obj_p;  /* { dg-warning "distinct Objective\\-C type" } */
28   obj_cp2 = obj_p; /* { dg-warning "distinct Objective\\-C type" } */
29   obj_p = obj_cp;  /* Ok */
30   obj_p = obj_cp2; /* Ok */
31
32   if (obj_cp == obj_p) ; /* Ok */
33   if (obj_cp2 == obj_p) ; /* Ok */
34   if (obj_p == obj_cp) ; /* Ok */
35   if (obj_p == obj_cp2) ; /* Ok */
36
37   return 0;
38 }