2 /* { dg-options "-Os -Wno-overflow -fno-tree-switch-conversion" } */
4 #include "exit-abort.h"
5 volatile unsigned char y
;
7 unsigned char __attribute__((noinline
,noclone
))
12 case (char)0x11: y
= 7; break;
13 case (char)0x12: y
= 4; break;
14 case (char)0x13: y
= 8; break;
15 case (char)0x14: y
= 21; break;
16 case (char)0x15: y
= 65; break;
17 case (char)0x16: y
= 27; break;
18 case (char)0x17: y
= 72; break;
19 case (char)0x18: y
= 39; break;
25 unsigned char __attribute__((noinline
,noclone
))
30 case 0x01: y
= 7; break;
31 case 0x02: y
= 4; break;
32 case 0x03: y
= 8; break;
33 case 0x04: y
= 21; break;
34 case 0x05: y
= 65; break;
35 case 0x06: y
= 27; break;
36 case 0x07: y
= 72; break;
37 case 0x08: y
= 39; break;
43 unsigned char __attribute__((noinline
,noclone
))
48 case 0x1000001L
: y
= 7; break;
49 case 0x1000002L
: y
= 4; break;
50 case 0x1000003L
: y
= 8; break;
51 case 0x1000004L
: y
= 21; break;
52 case 0x1000005L
: y
= 65; break;
53 case 0x1000006L
: y
= 27; break;
54 case 0x1000007L
: y
= 72; break;
55 case 0x1000008L
: y
= 39; break;
61 unsigned char __attribute__((noinline
,noclone
))
66 case 0x100000001LL
: y
= 7; break;
67 case 0x100000002LL
: y
= 4; break;
68 case 0x100000003LL
: y
= 8; break;
69 case 0x100000004LL
: y
= 21; break;
70 case 0x100000005LL
: y
= 65; break;
71 case 0x100000006LL
: y
= 27; break;
72 case 0x100000007LL
: y
= 72; break;
73 case 0x100000008LL
: y
= 39; break;
79 unsigned char __attribute__((noinline
,noclone
))
84 case (char)0x11: y
= 7; break;
85 case (char)0x12: y
= 4; break;
86 case (char)0x13: y
= 8; break;
87 case (char)0x14: y
= 21; break;
88 case (char)0x15: y
= 65; break;
89 case (char)0x16: y
= 27; break;
90 case (char)0x17: y
= 72; break;
91 case (char)0x18: y
= 39; break;
97 unsigned char __attribute__((noinline
,noclone
))
102 case 0x101: y
= 7; break;
103 case 0x102: y
= 4; break;
104 case 0x103: y
= 8; break;
105 case 0x104: y
= 21; break;
106 case 0x105: y
= 65; break;
107 case 0x106: y
= 27; break;
108 case 0x107: y
= 72; break;
109 case 0x108: y
= 39; break;
115 unsigned char __attribute__((noinline
,noclone
))
120 case 0x1000001L
: y
= 7; break;
121 case 0x1000002L
: y
= 4; break;
122 case 0x1000003L
: y
= 8; break;
123 case 0x1000004L
: y
= 21; break;
124 case 0x1000005L
: y
= 65; break;
125 case 0x1000006L
: y
= 27; break;
126 case 0x1000007L
: y
= 72; break;
127 case 0x1000008L
: y
= 39; break;
133 unsigned char __attribute__((noinline
,noclone
))
138 case 0x100000001LL
: y
= 7; break;
139 case 0x100000002LL
: y
= 4; break;
140 case 0x100000003LL
: y
= 8; break;
141 case 0x100000004LL
: y
= 21; break;
142 case 0x100000005LL
: y
= 65; break;
143 case 0x100000006LL
: y
= 27; break;
144 case 0x100000007LL
: y
= 72; break;
145 case 0x100000008LL
: y
= 39; break;
151 unsigned char __attribute__((noinline
,noclone
))
156 case (char)0x11: y
= 7; break;
157 case (char)0x12: y
= 4; break;
158 case (char)0x13: y
= 8; break;
159 case (char)0x14: y
= 21; break;
160 case (char)0x15: y
= 65; break;
161 case (char)0x16: y
= 27; break;
162 case (char)0x17: y
= 72; break;
163 case (char)0x18: y
= 39; break;
169 unsigned char __attribute__((noinline
,noclone
))
170 foo10 (unsigned long x
)
174 case 0x100: y
= 39; break;
175 case 0x101: y
= 7; break;
176 case 0x102: y
= 4; break;
177 case 0x103: y
= 8; break;
178 case 0x104: y
= 21; break;
179 case 0x105: y
= 65; break;
180 case 0x106: y
= 27; break;
181 case 0x107: y
= 72; break;
187 unsigned char __attribute__((noinline
,noclone
))
192 case 0x1000001L
: y
= 7; break;
193 case 0x1000002L
: y
= 4; break;
194 case 0x1000003L
: y
= 8; break;
195 case 0x1000004L
: y
= 21; break;
196 case 0x1000005L
: y
= 65; break;
197 case 0x1000006L
: y
= 27; break;
198 case 0x1000007L
: y
= 72; break;
199 case 0x1000008L
: y
= 39; break;
205 unsigned char __attribute__((noinline
,noclone
))
210 case 0x100000001LL
: y
= 7; break;
211 case 0x100000002LL
: y
= 4; break;
212 case 0x100000003LL
: y
= 8; break;
213 case 0x100000004LL
: y
= 21; break;
214 case 0x100000005LL
: y
= 65; break;
215 case 0x100000006LL
: y
= 27; break;
216 case 0x100000007LL
: y
= 72; break;
217 case 0x100000008LL
: y
= 39; break;
223 unsigned char __attribute__((noinline
,noclone
))
228 case (char)0x11: y
= 7; break;
229 case (char)0x12: y
= 4; break;
230 case (char)0x13: y
= 8; break;
231 case (char)0x14: y
= 21; break;
232 case (char)0x15: y
= 65; break;
233 case (char)0x16: y
= 27; break;
234 case (char)0x17: y
= 72; break;
235 case (char)0x18: y
= 39; break;
241 unsigned char __attribute__((noinline
,noclone
))
246 case 0x101: y
= 7; break;
247 case 0x102: y
= 4; break;
248 case 0x103: y
= 8; break;
249 case 0x104: y
= 21; break;
250 case 0x105: y
= 65; break;
251 case 0x106: y
= 27; break;
252 case 0x107: y
= 72; break;
253 case 0x108: y
= 39; break;
259 unsigned char __attribute__((noinline
,noclone
))
264 case 0x1000001L
: y
= 7; break;
265 case 0x1000002L
: y
= 4; break;
266 case 0x1000003L
: y
= 8; break;
267 case 0x1000004L
: y
= 21; break;
268 case 0x1000005L
: y
= 65; break;
269 case 0x1000006L
: y
= 27; break;
270 case 0x1000007L
: y
= 72; break;
271 case 0x1000008L
: y
= 39; break;
278 unsigned char __attribute__((noinline
,noclone
))
283 case 0x100000001LL
: y
= 7; break;
284 case 0x100000002LL
: y
= 4; break;
285 case 0x100000003LL
: y
= 8; break;
286 case 0x100000004LL
: y
= 21; break;
287 case 0x100000005LL
: y
= 65; break;
288 case 0x100000006LL
: y
= 27; break;
289 case 0x100000007LL
: y
= 72; break;
290 case 0x100000008LL
: y
= 39; break;
298 if (foo1 (0x13) != 8)
301 if (foo2 (0x06) != 27)
304 if (foo3 (0x02) != 4)
307 if (foo4 (0x01) != 7)
310 if (foo5 (0x15) != 65)
313 if (foo6 (0x103) != 8)
316 if (foo7 (0x04) != 21)
319 if (foo8 (0x07) != 72)
322 if (foo9 (0x10000011L
) != 0)
325 if (foo10 (0x1000105L
) != 0)
328 if (foo11 (0x1000008L
) != 39)
331 if (foo12 (0x1000004L
) != 0)
334 if (foo13 (0x109LL
) != 0)
337 if (foo14 (0x108LL
) != 39)
340 if (foo15 (0x1000001LL
) != 7)
343 if (foo16 (0x100000004LL
) != 21)