STINNER Victor <vstin...@redhat.com> added the comment:
The bug occurs when GCC emits a single instruction (stxsspx) for cast + memcpy. I understand that the struct module is not affected because there is a condition branch (if) between the cast ("float x = ...") and the memcpy(). static int np_float(char *p, PyObject *v, const formatdef *f) { float x = (float)PyFloat_AsDouble(v); if (x == -1 && PyErr_Occurred()) { PyErr_SetString(StructError, "required argument is not a float"); return -1; } memcpy(p, (char *)&x, sizeof x); return 0; } ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue35752> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com