about summary refs log tree commit diff
path: root/sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c')
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c b/sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c
index dbcf840f2c..07e9375b78 100644
--- a/sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c
+++ b/sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c
@@ -20,6 +20,7 @@
  *   Special cases:
  */
 
+#include <errno.h>
 #include <math.h>
 #include <math_private.h>
 #include <math_ldbl_opt.h>
@@ -64,10 +65,12 @@ float __nldbl_nexttowardf(float x, double y)
 	if(hy>=0x7f800000) {
 	  float u = x+x;			/* overflow  */
 	  math_force_eval (u);
+	  __set_errno (ERANGE);
 	}
 	if(hy<0x00800000) {
 	    float u = x*x;			/* underflow */
 	    math_force_eval (u);		/* raise underflow flag */
+	    __set_errno (ERANGE);
 	}
 	SET_FLOAT_WORD(x,hx);
 	return x;