From 9ce7bcf332d0ada9537a578f711a0dd0ed21b6eb Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Thu, 8 Sep 1994 11:19:43 +0000 Subject: [PATCH] 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. --- lib/libm/common_source/pow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libm/common_source/pow.c b/lib/libm/common_source/pow.c index 5121f3046421..cb4fc5029f4d 100644 --- a/lib/libm/common_source/pow.c +++ b/lib/libm/common_source/pow.c @@ -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)