1typedef unsigned int uint;
2typedef unsigned long ulong;
3
4static int uint_2_int(void) { return (int)123U; }
5static int long_2_int(void) { return (int)123L; }
6static int ulong_2_int(void) { return (int)123UL; }
7static int vptr_2_int(void) { return (int)((void*)123); }
8static int iptr_2_int(void) { return (int)((int*)128); }
9static int float_2_int(void) { return (int)1.123F; }
10static int double_2_int(void) { return (int)1.123L; }
11static uint int_2_uint(void) { return (uint)123; }
12static uint long_2_uint(void) { return (uint)123L; }
13static uint ulong_2_uint(void) { return (uint)123UL; }
14static uint vptr_2_uint(void) { return (uint)((void*)123); }
15static uint iptr_2_uint(void) { return (uint)((int*)128); }
16static uint float_2_uint(void) { return (uint)1.123F; }
17static uint double_2_uint(void) { return (uint)1.123L; }
18static long int_2_long(void) { return (long)123; }
19static long uint_2_long(void) { return (long)123U; }
20static long ulong_2_long(void) { return (long)123UL; }
21static long vptr_2_long(void) { return (long)((void*)123); }
22static long iptr_2_long(void) { return (long)((int*)128); }
23static long float_2_long(void) { return (long)1.123F; }
24static long double_2_long(void) { return (long)1.123L; }
25static ulong int_2_ulong(void) { return (ulong)123; }
26static ulong uint_2_ulong(void) { return (ulong)123U; }
27static ulong long_2_ulong(void) { return (ulong)123L; }
28static ulong vptr_2_ulong(void) { return (ulong)((void*)123); }
29static ulong iptr_2_ulong(void) { return (ulong)((int*)128); }
30static ulong float_2_ulong(void) { return (ulong)1.123F; }
31static ulong double_2_ulong(void) { return (ulong)1.123L; }
32static void * int_2_vptr(void) { return (void *)123; }
33static void * uint_2_vptr(void) { return (void *)123U; }
34static void * long_2_vptr(void) { return (void *)123L; }
35static void * ulong_2_vptr(void) { return (void *)123UL; }
36static void * iptr_2_vptr(void) { return (void *)((int*)128); }
37static int * int_2_iptr(void) { return (int *)123; }
38static int * uint_2_iptr(void) { return (int *)123U; }
39static int * long_2_iptr(void) { return (int *)123L; }
40static int * ulong_2_iptr(void) { return (int *)123UL; }
41static int * vptr_2_iptr(void) { return (int *)((void*)123); }
42static float int_2_float(void) { return (float)123; }
43static float uint_2_float(void) { return (float)123U; }
44static float long_2_float(void) { return (float)123L; }
45static float ulong_2_float(void) { return (float)123UL; }
46static float double_2_float(void) { return (float)1.123L; }
47static double int_2_double(void) { return (double)123; }
48static double uint_2_double(void) { return (double)123U; }
49static double long_2_double(void) { return (double)123L; }
50static double ulong_2_double(void) { return (double)123UL; }
51static double float_2_double(void) { return (double)1.123F; }
52
53/*
54 * check-name: cast-constants.c
55 * check-command: test-linearize -m64 $file
56 * check-assert: sizeof(void *) == 8 && sizeof(long) == 8 && sizeof(double) == 8
57 *
58 * check-output-start
59uint_2_int:
60.L0:
61	<entry-point>
62	ret.32      $123
63
64
65long_2_int:
66.L2:
67	<entry-point>
68	ret.32      $123
69
70
71ulong_2_int:
72.L4:
73	<entry-point>
74	ret.32      $123
75
76
77vptr_2_int:
78.L6:
79	<entry-point>
80	ret.32      $123
81
82
83iptr_2_int:
84.L8:
85	<entry-point>
86	ret.32      $128
87
88
89float_2_int:
90.L10:
91	<entry-point>
92	ret.32      $1
93
94
95double_2_int:
96.L12:
97	<entry-point>
98	ret.32      $1
99
100
101int_2_uint:
102.L14:
103	<entry-point>
104	ret.32      $123
105
106
107long_2_uint:
108.L16:
109	<entry-point>
110	ret.32      $123
111
112
113ulong_2_uint:
114.L18:
115	<entry-point>
116	ret.32      $123
117
118
119vptr_2_uint:
120.L20:
121	<entry-point>
122	ret.32      $123
123
124
125iptr_2_uint:
126.L22:
127	<entry-point>
128	ret.32      $128
129
130
131float_2_uint:
132.L24:
133	<entry-point>
134	ret.32      $1
135
136
137double_2_uint:
138.L26:
139	<entry-point>
140	ret.32      $1
141
142
143int_2_long:
144.L28:
145	<entry-point>
146	ret.64      $123
147
148
149uint_2_long:
150.L30:
151	<entry-point>
152	ret.64      $123
153
154
155ulong_2_long:
156.L32:
157	<entry-point>
158	ret.64      $123
159
160
161vptr_2_long:
162.L34:
163	<entry-point>
164	ret.64      $123
165
166
167iptr_2_long:
168.L36:
169	<entry-point>
170	ret.64      $128
171
172
173float_2_long:
174.L38:
175	<entry-point>
176	ret.64      $1
177
178
179double_2_long:
180.L40:
181	<entry-point>
182	ret.64      $1
183
184
185int_2_ulong:
186.L42:
187	<entry-point>
188	ret.64      $123
189
190
191uint_2_ulong:
192.L44:
193	<entry-point>
194	ret.64      $123
195
196
197long_2_ulong:
198.L46:
199	<entry-point>
200	ret.64      $123
201
202
203vptr_2_ulong:
204.L48:
205	<entry-point>
206	ret.64      $123
207
208
209iptr_2_ulong:
210.L50:
211	<entry-point>
212	ret.64      $128
213
214
215float_2_ulong:
216.L52:
217	<entry-point>
218	ret.64      $1
219
220
221double_2_ulong:
222.L54:
223	<entry-point>
224	ret.64      $1
225
226
227int_2_vptr:
228.L56:
229	<entry-point>
230	ret.64      $123
231
232
233uint_2_vptr:
234.L58:
235	<entry-point>
236	ret.64      $123
237
238
239long_2_vptr:
240.L60:
241	<entry-point>
242	ret.64      $123
243
244
245ulong_2_vptr:
246.L62:
247	<entry-point>
248	ret.64      $123
249
250
251iptr_2_vptr:
252.L64:
253	<entry-point>
254	ret.64      $128
255
256
257int_2_iptr:
258.L66:
259	<entry-point>
260	ret.64      $123
261
262
263uint_2_iptr:
264.L68:
265	<entry-point>
266	ret.64      $123
267
268
269long_2_iptr:
270.L70:
271	<entry-point>
272	ret.64      $123
273
274
275ulong_2_iptr:
276.L72:
277	<entry-point>
278	ret.64      $123
279
280
281vptr_2_iptr:
282.L74:
283	<entry-point>
284	ret.64      $123
285
286
287int_2_float:
288.L76:
289	<entry-point>
290	setfval.32  %r39 <- 1.230000e+02
291	ret.32      %r39
292
293
294uint_2_float:
295.L78:
296	<entry-point>
297	setfval.32  %r41 <- 1.230000e+02
298	ret.32      %r41
299
300
301long_2_float:
302.L80:
303	<entry-point>
304	setfval.32  %r43 <- 1.230000e+02
305	ret.32      %r43
306
307
308ulong_2_float:
309.L82:
310	<entry-point>
311	setfval.32  %r45 <- 1.230000e+02
312	ret.32      %r45
313
314
315double_2_float:
316.L84:
317	<entry-point>
318	setfval.32  %r47 <- 1.123000e+00
319	ret.32      %r47
320
321
322int_2_double:
323.L86:
324	<entry-point>
325	setfval.64  %r49 <- 1.230000e+02
326	ret.64      %r49
327
328
329uint_2_double:
330.L88:
331	<entry-point>
332	setfval.64  %r51 <- 1.230000e+02
333	ret.64      %r51
334
335
336long_2_double:
337.L90:
338	<entry-point>
339	setfval.64  %r53 <- 1.230000e+02
340	ret.64      %r53
341
342
343ulong_2_double:
344.L92:
345	<entry-point>
346	setfval.64  %r55 <- 1.230000e+02
347	ret.64      %r55
348
349
350float_2_double:
351.L94:
352	<entry-point>
353	setfval.64  %r57 <- 1.123000e+00
354	ret.64      %r57
355
356
357 * check-output-end
358 */
359