OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [obj-c++.dg/] [comp-types-4.mm] - Blame information for rev 703

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 703 jeremybenn
/* Test assignments and comparisons between protocols (obscure case).  */
2
/* Author: Nicola Pero .  */
3
/* { dg-do compile } */
4
 
5
#include 
6
 
7
@protocol MyProtocolA
8
- (void) methodA;
9
@end
10
 
11
@protocol MyProtocolB
12
- (void) methodB;
13
@end
14
 
15
@protocol MyProtocolAB 
16
@end
17
 
18
@protocol MyProtocolAC 
19
- (void) methodC;
20
@end
21
 
22
int main()
23
{
24
  id obj_a = nil;
25
  id obj_b = nil;
26
  id obj_ab = nil;
27
  id obj_ac = nil;
28
 
29
  obj_a = obj_b;  /* { dg-warning "does not conform" } */
30
  obj_a = obj_ab; /* Ok */
31
  obj_a = obj_ac; /* Ok */
32
 
33
  obj_b = obj_a;  /* { dg-warning "does not conform" } */
34
  obj_b = obj_ab; /* Ok */
35
  obj_b = obj_ac; /* { dg-warning "does not conform" } */
36
 
37
  obj_ab = obj_a;  /* { dg-warning "does not conform" } */
38
  obj_ab = obj_b;  /* { dg-warning "does not conform" } */
39
  obj_ab = obj_ac; /* { dg-warning "does not conform" } */
40
 
41
  obj_ac = obj_a;  /* { dg-warning "does not conform" } */
42
  obj_ac = obj_b;  /* { dg-warning "does not conform" } */
43
  obj_ac = obj_ab; /* { dg-warning "does not conform" } */
44
 
45
  if (obj_a == obj_b) ; /* { dg-warning "lacks a cast" } */
46
  if (obj_b == obj_a) ; /* { dg-warning "lacks a cast" } */
47
 
48
  if (obj_a == obj_ab) ; /* Ok */
49
  if (obj_ab == obj_a) ; /* Ok */ /* Spurious 2.95.4 warning here */
50
 
51
  if (obj_a == obj_ac) ; /* Ok */
52
  if (obj_ac == obj_a) ; /* Ok */ /* Spurious 2.95.4 warning here */
53
 
54
  if (obj_b == obj_ab) ; /* Ok */
55
  if (obj_ab == obj_b) ; /* Ok */ /* Spurious 2.95.4 warning here */
56
 
57
  if (obj_b == obj_ac) ; /* { dg-warning "lacks a cast" } */
58
  if (obj_ac == obj_b) ; /* { dg-warning "lacks a cast" } */
59
 
60
  if (obj_ab == obj_ac) ; /* { dg-warning "lacks a cast" } */
61
  if (obj_ac == obj_ab) ; /* { dg-warning "lacks a cast" } */
62
 
63
  return 0;
64
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.