Module Name:    src
Committed By:   riastradh
Date:           Sat May 11 20:09:47 UTC 2024

Modified Files:
        src/lib/libm/src: e_hypotl.c
        src/tests/lib/libm: t_hypot.c

Log Message:
hypotl(3): Fix includes and macros.

1. Need <math.h> for __HAVE_LONG_DOUBLE.
2. Need <machine/ieee.h> for struct ieee_ext_u &c.
3. EXT_FRACLBITS, not LDBL_MANL_SIZE.

PR lib/58245: hypotl is broken on ld128 ports


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libm/src/e_hypotl.c
cvs rdiff -u -r1.4 -r1.5 src/tests/lib/libm/t_hypot.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libm/src/e_hypotl.c
diff -u src/lib/libm/src/e_hypotl.c:1.1 src/lib/libm/src/e_hypotl.c:1.2
--- src/lib/libm/src/e_hypotl.c:1.1	Sun Jan 21 18:53:18 2024
+++ src/lib/libm/src/e_hypotl.c	Sat May 11 20:09:47 2024
@@ -16,6 +16,9 @@
 
 
 #include <float.h>
+#include <math.h>
+
+#include <machine/ieee.h>
 
 __weak_alias(hypotl, _hypotl)
 
@@ -45,7 +48,7 @@ __weak_alias(hypotl, _hypotl)
 #define	MANT_DIG	LDBL_MANT_DIG
 #define	MAX_EXP		LDBL_MAX_EXP
 
-#if LDBL_MANL_SIZE > 32
+#if EXT_FRACLBITS > 32
 typedef	uint64_t man_t;
 #else
 typedef	uint32_t man_t;

Index: src/tests/lib/libm/t_hypot.c
diff -u src/tests/lib/libm/t_hypot.c:1.4 src/tests/lib/libm/t_hypot.c:1.5
--- src/tests/lib/libm/t_hypot.c:1.4	Sat May 11 20:09:13 2024
+++ src/tests/lib/libm/t_hypot.c	Sat May 11 20:09:47 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: t_hypot.c,v 1.4 2024/05/11 20:09:13 riastradh Exp $ */
+/* $NetBSD: t_hypot.c,v 1.5 2024/05/11 20:09:47 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2016 The NetBSD Foundation, Inc.
@@ -265,10 +265,6 @@ ATF_TC_BODY(hypotl_trivial, tc)
 		CHECKL_EQ(i, hypotl, -0.L, -x, x);
 	}
 
-#if __HAVE_LONG_DOUBLE + 0 == 128
-	atf_tc_expect_fail("PR lib/58245: hypotl is broken on ld128 ports");
-#endif
-
 	for (i = 0; i < __arraycount(trivial_casesl); i++) {
 		volatile long double x = trivial_casesl[i];
 
@@ -457,10 +453,6 @@ ATF_TC_BODY(hypotl_exact, tc)
 		}
 	}
 
-#if __HAVE_LONG_DOUBLE + 0 == 128
-	atf_tc_expect_fail("PR lib/58245: hypotl is broken on ld128 ports");
-#endif
-
 #if LDBL_MANT_DIG >= 64
 	for (i = 0; i < __arraycount(exact_casesl); i++) {
 		int s;

Reply via email to