From 1c2c303dbbde240a5e828f5b69ac06376038a09c Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Mon, 21 Jan 2008 17:24:30 +0000 Subject: [PATCH] re PR libfortran/34699 (FAIL: gfortran.fortran-torture/execute/intrinsic_set_exponent.f90 execution) PR libfortran/34699 Backport: 2007-09-21 Francois-Xavier Coudert PR libfortran/26253 * intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate. From-SVN: r131698 --- libgfortran/ChangeLog | 9 +++++++++ libgfortran/intrinsics/c99_functions.c | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index d7ae2b4b8cda..b488d3ff7556 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,12 @@ +2008-01-21 John David Anglin + + PR libfortran/34699 + Backport: + 2007-09-21 Francois-Xavier Coudert + + PR libfortran/26253 + * intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate. + 2007-10-07 Release Manager * GCC 4.2.2 released. diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c index 765ed40aaec1..b805a22b63ca 100644 --- a/libgfortran/intrinsics/c99_functions.c +++ b/libgfortran/intrinsics/c99_functions.c @@ -249,7 +249,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 -- 2.47.2