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