Declare huge and tiny as volatile so that gcc doesn't evaluate huge*huge
and tiny*tiny at compile time. The evaluations are supposed to be done at run time to set the IEEE exception flags. Many other source files in libm and msun are missing this fix. Fixing them is not urgent since the default IEEE exception masks don't allow use of the overflow exception flag.
This commit is contained in:
parent
26a9d4df47
commit
d2231f128c
@ -174,7 +174,8 @@ pow_P(x, y) double x, y;
|
||||
#endif
|
||||
{
|
||||
struct Double s, t, __log__D();
|
||||
double __exp__D(), huge = 1e300, tiny = 1e-300;
|
||||
double __exp__D();
|
||||
volatile double huge = 1e300, tiny = 1e-300;
|
||||
|
||||
if (x == zero)
|
||||
if (y > zero)
|
||||
|
Loading…
Reference in New Issue
Block a user