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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [enum-incomplete-1.c] - Blame information for rev 801

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* Test for uses of incomplete enum variables: should be allowed just
2
   when incomplete structs are allowed.  PR 32295.  */
3
/* Origin: Joseph Myers <joseph@codesourcery.com> */
4
/* { dg-do compile } */
5
/* { dg-options "" } */
6
 
7
extern enum e ve;
8
extern struct s vs;
9
void *p;
10
 
11
int
12
f0 (int i)
13
{
14
  ve; /* { dg-error "incomplete" } */
15
  vs; /* { dg-error "incomplete" } */
16
  (void) ve;
17
  (void) vs;
18
  (void) (i ? ve : ve); /* { dg-error "incomplete" } */
19
  (void) (i ? vs : vs); /* { dg-error "incomplete" } */
20
  (void) (ve = ve); /* { dg-error "incomplete" } */
21
  (void) (vs = vs); /* { dg-error "incomplete" } */
22
  (void) ve, (void) ve;
23
  (void) vs, (void) vs;
24
  p = &ve;
25
  p = &vs;
26
  (void) sizeof (ve); /* { dg-error "incomplete" } */
27
  (void) sizeof (vs); /* { dg-error "incomplete" } */
28
  typeof (ve) *pe;
29
  typeof (vs) *ps;
30
  /* ??? alignof should probably not be accepted here.  */
31
  (void) __alignof (ve);
32
  (void) __alignof (vs);
33
  (void) (ve + i); /* { dg-error "incomplete" } */
34
  (void) (i * ve); /* { dg-error "incomplete" } */
35
  (void) (i / ve); /* { dg-error "incomplete" } */
36
  (void) (ve - i); /* { dg-error "incomplete" } */
37
  (void) (ve << i); /* { dg-error "incomplete" } */
38
  (void) (i >> ve); /* { dg-error "incomplete" } */
39
  (void) (ve < i); /* { dg-error "incomplete" } */
40
  (void) (ve <= i); /* { dg-error "incomplete" } */
41
  (void) (i > ve); /* { dg-error "incomplete" } */
42
  (void) (i >= ve); /* { dg-error "incomplete" } */
43
  (void) (ve == i); /* { dg-error "incomplete" } */
44
  (void) (i != ve); /* { dg-error "incomplete" } */
45
  (void) (ve & i); /* { dg-error "incomplete" } */
46
  (void) (ve ^ i); /* { dg-error "incomplete" } */
47
  (void) (i | ve); /* { dg-error "incomplete" } */
48
  (void) (i && ve); /* { dg-error "incomplete" } */
49
  (void) (ve || i); /* { dg-error "incomplete" } */
50
  (void) -ve; /* { dg-error "incomplete" } */
51
  (void) +ve; /* { dg-error "incomplete" } */
52
  (void) ~ve; /* { dg-error "incomplete" } */
53
  (void) !ve; /* { dg-error "incomplete" } */
54
  (void) --ve; /* { dg-error "incomplete" } */
55
  (void) ++ve; /* { dg-error "incomplete" } */
56
  (void) ve--; /* { dg-error "incomplete" } */
57
  (void) ve++; /* { dg-error "incomplete" } */
58
  i = ve; /* { dg-error "incomplete" } */
59
  i *= ve; /* { dg-error "incomplete" } */
60
  i /= ve; /* { dg-error "incomplete" } */
61
  i %= ve; /* { dg-error "incomplete" } */
62
  i += ve; /* { dg-error "incomplete" } */
63
  i -= ve; /* { dg-error "incomplete" } */
64
  i <<= ve; /* { dg-error "incomplete" } */
65
  i >>= ve; /* { dg-error "incomplete" } */
66
  i &= ve; /* { dg-error "incomplete" } */
67
  i ^= ve; /* { dg-error "incomplete" } */
68
  i |= ve; /* { dg-error "incomplete" } */
69
  (void) (ve ? 1 : 1); /* { dg-error "incomplete" } */
70
  (void) (int) ve; /* { dg-error "incomplete" } */
71
  f0 (ve); /* { dg-error "incomplete" } */
72
  if (ve) /* { dg-error "incomplete" } */
73
    ;
74
  do
75
    ;
76
  while (ve); /* { dg-error "incomplete" } */
77
  while (ve) /* { dg-error "incomplete" } */
78
    ;
79
  _Bool b = ve; /* { dg-error "incomplete" } */
80
  float f = ve; /* { dg-error "incomplete" } */
81
  switch (ve) /* { dg-error "incomplete" } */
82
    ;
83
  for (; ve;) /* { dg-error "incomplete" } */
84
    ;
85
  return ve; /* { dg-error "incomplete" } */
86
}

powered by: WebSVN 2.1.0

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