Message245791
| Author |
Kevin Shweh |
| Recipients |
Kevin Shweh, eric.smith, gregory.p.smith, mark.dickinson, serhiy.storchaka, terry.reedy, tim.peters, zooko |
| Date |
2015年06月25日.03:12:05 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1435201926.01.0.173922509167.issue7406@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
It looks like the fast paths for INPLACE_ADD and INPLACE_SUBTRACT in Python 2 don't have the cast-to-unsigned fix, so they're still relying on undefined behavior. For example, in INPLACE_ADD:
/* INLINE: int + int */
register long a, b, i;
a = PyInt_AS_LONG(v);
b = PyInt_AS_LONG(w);
i = a + b;
if ((i^a) < 0 && (i^b) < 0)
goto slow_iadd; |
|