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