Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/Wcxx-compat-5.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* { 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 } |