Print this page
4470 overly aggressive D integer narrowing breaks 32-bit ustack helpers

@@ -474,11 +474,11 @@
         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)
+            ((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);