VT_PTR needs to be handled like VT_LLONG.
Unified · Split
| @@ -1326,7 +1326,8 @@ static int arm64_iconst(uint64_t *val, SValue *sv) · 1325 unmodified lines | ||
| 1326 | 1326 | return 0; |
| 1327 | 1327 | if (val) { |
| 1328 | 1328 | int t = sv->type.t; |
| 1329 | − *val = ((t & VT_BTYPE) == VT_LLONG ? sv->c.i : | |
| 1329 | + int bt = t & VT_BTYPE; | |
| 1330 | + *val = ((bt == VT_LLONG || bt == VT_PTR) ? sv->c.i : | |
| 1330 | 1331 | (uint32_t)sv->c.i | |
| 1331 | 1332 | (t & VT_UNSIGNED ? 0 : -(sv->c.i & 0x80000000))); |
| 1332 | 1333 | } |