cgraph: A COMDAT decl always has non-zero address.
[gcc.git] / gcc / testsuite / obj-c++.dg / comp-types-7.mm
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 }