summaryrefslogtreecommitdiff
path: root/libgfortran/generated/rrspacing_r8.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/generated/rrspacing_r8.c')
-rw-r--r--libgfortran/generated/rrspacing_r8.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libgfortran/generated/rrspacing_r8.c b/libgfortran/generated/rrspacing_r8.c
index 3969f66941c..9dc87381de1 100644
--- a/libgfortran/generated/rrspacing_r8.c
+++ b/libgfortran/generated/rrspacing_r8.c
@@ -33,7 +33,7 @@ Boston, MA 02110-1301, USA. */
#include "libgfortran.h"
-#if defined (HAVE_GFC_REAL_8) && defined (HAVE_FABS) && defined (HAVE_FREXP) && defined (HAVE_LDEXP)
+#if defined (HAVE_GFC_REAL_8) && defined (HAVE_FABS) && defined (HAVE_FREXP)
extern GFC_REAL_8 rrspacing_r8 (GFC_REAL_8 s, int p);
export_proto(rrspacing_r8);
@@ -47,7 +47,12 @@ rrspacing_r8 (GFC_REAL_8 s, int p)
if (x == 0.)
return 0.;
frexp (s, &e);
+#if defined (HAVE_LDEXP)
return ldexp (x, p - e);
+#else
+ return scalbn (x, p - e);
+#endif
+
}
#endif