Print this page
4470 overly aggressive D integer narrowing breaks 32-bit ustack helpers
*** 474,484 ****
int rg;
if (!dt_node_is_scalar(dst))
return; /* not a scalar */
if (dstsize == srcsize &&
! ((src->dn_flags ^ dst->dn_flags) & DT_NF_SIGNED) != 0)
return; /* not narrowing or changing signed-ness */
if (dstsize > srcsize && (src->dn_flags & DT_NF_SIGNED) == 0)
return; /* nothing to do in this case */
rg = dt_regset_alloc(drp);
--- 474,484 ----
int rg;
if (!dt_node_is_scalar(dst))
return; /* not a scalar */
if (dstsize == srcsize &&
! ((src->dn_flags ^ dst->dn_flags) & DT_NF_SIGNED) == 0)
return; /* not narrowing or changing signed-ness */
if (dstsize > srcsize && (src->dn_flags & DT_NF_SIGNED) == 0)
return; /* nothing to do in this case */
rg = dt_regset_alloc(drp);