From: Francois-Xavier Coudert Date: Fri, 21 Sep 2007 10:54:20 +0000 (+0000) Subject: re PR libfortran/26253 (fallback scalbn doesn't handle denormals correctly) X-Git-Tag: releases/gcc-4.3.0~2463 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b65d72ab8642181fb7ed9ed337e3aeff7c25007f;p=thirdparty%2Fgcc.git re PR libfortran/26253 (fallback scalbn doesn't handle denormals correctly) PR libfortran/26253 * intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate. From-SVN: r128648 --- diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 337d2e17555e..79c7e137ba1b 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2007-09-21 Francois-Xavier Coudert + + PR libfortran/26253 + * intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate. + 2007-09-21 Francois-Xavier Coudert PR libfortran/23272 diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c index 65c284e9b8c4..c9c47965da2e 100644 --- a/libgfortran/intrinsics/c99_functions.c +++ b/libgfortran/intrinsics/c99_functions.c @@ -341,7 +341,11 @@ log10f(float x) double scalbn(double x, int y) { +#if (FLT_RADIX == 2) && defined(HAVE_LDEXP) + return ldexp (x, y); +#else return x * pow(FLT_RADIX, y); +#endif } #endif