Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/g++.dg/torture/pr60648.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 // PR target/60648 | |
2 // { dg-do compile } | |
3 // { dg-additional-options "-fPIC" { target fpic } } | |
4 | |
5 enum component | |
6 { | |
7 Ex, | |
8 Ez, | |
9 Hy, | |
10 Permeability | |
11 }; | |
12 enum derived_component | |
13 {}; | |
14 enum direction | |
15 { | |
16 X, | |
17 Y, | |
18 Z, | |
19 R, | |
20 P, | |
21 NO_DIRECTION | |
22 }; | |
23 derived_component a; | |
24 component *b; | |
25 component c; | |
26 direction d; | |
27 inline direction fn1 (component p1) | |
28 { | |
29 switch (p1) | |
30 { | |
31 case 0: | |
32 return Y; | |
33 case 1: | |
34 return Z; | |
35 case Permeability: | |
36 return NO_DIRECTION; | |
37 } | |
38 return X; | |
39 } | |
40 | |
41 inline component fn2 (direction p1) | |
42 { | |
43 switch (p1) | |
44 { | |
45 case 0: | |
46 case 1: | |
47 return component (); | |
48 case Z: | |
49 case R: | |
50 return component (1); | |
51 case P: | |
52 return component (3); | |
53 } | |
54 } | |
55 | |
56 void fn3 () | |
57 { | |
58 direction e; | |
59 switch (0) | |
60 case 0: | |
61 switch (a) | |
62 { | |
63 case 0: | |
64 c = Ex; | |
65 b[1] = Hy; | |
66 } | |
67 e = fn1 (b[1]); | |
68 b[1] = fn2 (e); | |
69 d = fn1 (c); | |
70 } |