From 9443ac7e2937bb4f26cf44c73bb8150860c5df45 Mon Sep 17 00:00:00 2001 From: Thomas Bonnefille Date: Tue, 4 Feb 2025 09:48:13 +0100 Subject: [PATCH] box-drawings: handle architecture with soft-float Currently, architecture using soft-floats doesn't support instructions FE_INVALID, FE_DIVBYZERO, FE_OVERFLOW and FE_UNDERFLOW and so building on those architectures results with a build error. As the sqrt math function should set errno to EDOM if an error occurs, fetestexcept shouldn't be mandatory. This commit removes the float environment error handling. Signed-off-by: Thomas Bonnefille --- box-drawing.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/box-drawing.c b/box-drawing.c index 1c613051..421ff54d 100644 --- a/box-drawing.c +++ b/box-drawing.c @@ -1462,14 +1462,12 @@ draw_box_drawings_light_arc(struct buf *buf, char32_t wc) */ for (double i = y_min*16; i <= y_max*16; i++) { errno = 0; - feclearexcept(FE_ALL_EXCEPT); double y = i / 16.; double x = circle_hemisphere * sqrt(c_r2 - (y - c_y) * (y - c_y)) + c_x; /* See math_error(7) */ - if (errno != 0 || - fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW)) + if (errno != 0) { continue; }