Mercurial > cpython-lru_cache-weakref
diff Python/pytime.c @ 75595:9d69a2418d80
Issue #14180: Fix an invalid rounding when compiler optimization are enabled
Use volatile keyword to disable localy unsafe float optimizations.
| author | Victor Stinner <vstinner@wyplay.com> |
|---|---|
| date | Tue, 13 Mar 2012 19:12:23 +0100 |
| parents | ed73006bac42 |
| children | f554043badec |
line wrap: on
line diff
--- a/Python/pytime.c Tue Mar 13 17:42:18 2012 +0100 +++ b/Python/pytime.c Tue Mar 13 19:12:23 2012 +0100 @@ -102,7 +102,9 @@ { assert(denominator <= LONG_MAX); if (PyFloat_Check(obj)) { - double d, intpart, floatpart, err; + double d, intpart, err; + /* volatile avoids unsafe optimization on float enabled by gcc -O3 */ + volatile double floatpart; d = PyFloat_AsDouble(obj); floatpart = modf(d, &intpart);
