summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2008-01-21 18:13:04 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2008-01-21 18:13:04 +0000
commitb281607a60ce2e276dc877cc9777fe01a281740e (patch)
tree9a768a868c7298073b52441cc1770bc25e3f21eb
parent6e0941b00b0c00980d7d1573b6dbd2d2f74d83ce (diff)
downloadgcc-b281607a60ce2e276dc877cc9777fe01a281740e.tar.gz
PR libfortran/34699
Backport: 2007-09-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR libfortran/26253 * intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_1-branch@131699 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libgfortran/ChangeLog9
-rw-r--r--libgfortran/intrinsics/c99_functions.c4
2 files changed, 13 insertions, 0 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index a71d215b8ce..b60bfe33484 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,12 @@
+2008-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR libfortran/34699
+ Backport:
+ 2007-09-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/26253
+ * intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate.
+
2007-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31964
diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c
index 3eabd0dc5a7..40e0ba76346 100644
--- a/libgfortran/intrinsics/c99_functions.c
+++ b/libgfortran/intrinsics/c99_functions.c
@@ -226,7 +226,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