1/* Test assignments and comparisons involving `one-off' protocols.  */
2/* Author: Nicola Pero <nicola@brainstorm.co.uk>.  */
3/* { dg-do compile } */
4#include <objc/objc.h>
5
6@protocol MyProtocol
7- (void) method;
8@end
9
10@interface MyClass
11@end
12
13int main()
14{
15  id obj = nil;
16  id <MyProtocol> obj_p = nil;
17  MyClass<MyProtocol> *obj_cp = nil;
18
19  obj_cp = obj; /* Ok */
20  obj = obj_cp; /* Ok */
21
22  obj_cp = obj_p; /* Ok */
23  obj_p = obj_cp; /* Ok */
24
25  if (obj_cp == obj) ; /* Ok */
26  if (obj == obj_cp) ; /* Ok */
27
28  if (obj_cp == obj_p) ; /* Ok */
29  if (obj_p == obj_cp) ; /* Ok */
30
31  return 0;
32}
33