OSDN Git Service

In gcc/:
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / objc.dg / comp-types-2.m
1 /* Test simple ObjC types casts.  */
2 /* Author: Nicola Pero <nicola@brainstorm.co.uk>.  */
3 /* { dg-do compile } */
4 #include <objc/objc.h>
5
6 @protocol MyProtocol
7 - (void) foo;
8 @end
9
10 @interface MyClass
11 @end
12
13 int main()
14 {
15   id obj = nil;
16   id<MyProtocol> obj_p = nil;
17   MyClass *obj_c = nil;
18   Class obj_C = Nil;
19
20   /* All these casts should generate no warnings.  */
21
22   obj = (id)obj_p;
23   obj = (id)obj_c;
24   obj = (id)obj_C;
25   obj_c = (MyClass *)obj;
26   obj_c = (MyClass *)obj_p;
27   obj_c = (MyClass *)obj_C;
28   obj_p = (id<MyProtocol>)obj;
29   obj_p = (id<MyProtocol>)obj_c;
30   obj_p = (id<MyProtocol>)obj_C;
31   obj_C = (Class)obj;
32   obj_C = (Class)obj_p;
33   obj_C = (Class)obj_c;
34   
35
36   return 0;
37 }