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:
Bruce Evans 1994-09-08 11:19:43 +00:00
parent 1b42fe9258
commit 9ce7bcf332

View File

@ -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)