Don't abuse volatile keyword in pytime.c

Only use it on the most important number. This change fixes also a compiler
warning on modf().
This commit is contained in:
Victor Stinner 2015-09-03 16:33:16 +02:00
parent 29ee6745af
commit 5786aef382
1 changed files with 4 additions and 2 deletions

View File

@ -135,8 +135,9 @@ int
_PyTime_ObjectToTime_t(PyObject *obj, time_t *sec, _PyTime_round_t round) _PyTime_ObjectToTime_t(PyObject *obj, time_t *sec, _PyTime_round_t round)
{ {
if (PyFloat_Check(obj)) { if (PyFloat_Check(obj)) {
double intpart, err;
/* volatile avoids optimization changing how numbers are rounded */ /* volatile avoids optimization changing how numbers are rounded */
volatile double d, intpart, err; volatile double d;
d = PyFloat_AsDouble(obj); d = PyFloat_AsDouble(obj);
if (round == _PyTime_ROUND_HALF_UP) if (round == _PyTime_ROUND_HALF_UP)
@ -257,8 +258,9 @@ static int
_PyTime_FromFloatObject(_PyTime_t *t, double value, _PyTime_round_t round, _PyTime_FromFloatObject(_PyTime_t *t, double value, _PyTime_round_t round,
long to_nanoseconds) long to_nanoseconds)
{ {
double err;
/* volatile avoids optimization changing how numbers are rounded */ /* volatile avoids optimization changing how numbers are rounded */
volatile double d, err; volatile double d;
/* convert to a number of nanoseconds */ /* convert to a number of nanoseconds */
d = value; d = value;