On Sun, Mar 17, 2002 at 11:52:15AM +0100, Hartvig Ekner wrote: > I have found a problem in glibc caused by the gcc-2.96-99.1 compiler > from H.J's miniport. > > in the exp() function (file w_expf.c), there is code like: > > #ifdef __STDC__ > float __expf(float x) /* wrapper expf */ > #else > float __expf(x) /* wrapper expf */ > float x; > #endif > { > #ifdef _IEEE_LIBM > return __ieee754_expf(x); > #else > float z; > z = __ieee754_expf(x); > if(_LIB_VERSION == _IEEE_) return z; > > if(__finitef(x)) { > if(x>o_threshold) > > > (IEEE_LIBM is not set). Note that there are two function calls (ieee754_expf > and finitef()) followed by a FP if-statement (x>o_threshold). This > translates into: > I believe it has been reported before and is fixed in gcc 3.1 at the time. H.J.