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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [Wcxx-compat-5.c] - Blame information for rev 753

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

Line No. Rev Author Line
1 689 jeremybenn
/* { dg-do compile } */
2
/* { dg-options "-Wc++-compat" } */
3
enum E1 { A, B, C };
4
enum E2 { D, E, F };
5
 
6
int f1() { return A; }
7
 
8
struct s { enum E1 e1 : 3; enum E2 e2 : 4; };
9
 
10
enum E1
11
f2 (int i, struct s sv, struct s *pv)
12
{
13
  int a;
14
  enum E1 e1 = B;
15
  enum E2 e2 = E;
16
  switch (i)
17
    {
18
    case 0:
19
      return A;
20
    case 1:
21
      return D;                 /* { dg-warning "invalid in C\[+\]\[+\]" } */
22
    case 2:
23
      return 0;                  /* { dg-warning "invalid in C\[+\]\[+\]" } */
24
    case 3:
25
      return (enum E1) 1;
26
    case 4:
27
      return (enum E2) 2;       /* { dg-warning "invalid in C\[+\]\[+\]" } */
28
    case 5:
29
      return e1;
30
    case 6:
31
      return e2;                /* { dg-warning "invalid in C\[+\]\[+\]" } */
32
    case 7:
33
      return pv->e1;
34
    case 8:
35
      return sv.e1;
36
    case 9:
37
      return pv->e2;            /* { dg-warning "invalid in C\[+\]\[+\]" } */
38
    case 10:
39
      return sv.e2;             /* { dg-warning "invalid in C\[+\]\[+\]" } */
40
    case 11:
41
      return 1, A;
42
    default:
43
      return C;
44
    }
45
}

powered by: WebSVN 2.1.0

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