From nobody Sat Oct 31 12:16:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4jGxmJ1Xrdz6yVHm for ; Sat, 31 Oct 2026 12:17:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jGxmJ0Krsz3GRf for ; Sat, 31 Oct 2026 12:17:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793449024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R6zTCYQLwxYffY1ZOW6RC92YTtFbEY3q7Z6yD6Edo1Y=; b=kYGhJ6bRQWu0U/YlZQOO4y0N/yNyEaW0Grz0SvtReZJknuEVQI88NKxYEU+ZHkzJ5D59up FTodLQSBitYXtWlAzNIy5DE0ZupiAOv/IPZR+ihcfv3UwfKDFA602NcCj+Vj8x8Kv0/K2T rfYNAEsuXpPADlw3EeGlnr2BIEKGB2aCVPfzk0AVvsQulJcuca2xX65Czex1By2FfD3mQM K/Cq8bmeGE9jD3HcaZ7juUQ5ajSdtPBH/DZfxe0FrltQfi9HC7kJqjpaxOBqmlzNvbGKeG W2HovAzjOYDYK/MgE9I7eLeE6JOxpx3xlfCP5QQq/4yDMxeCrBGSbIFrIuhdRQ== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793449024; b=lAEEXYL9Uvy6eiTYA+5htuvSa6rfyB18P0CHcZhohg9IrjEeA14CmCAfoEa8Rg+IcRZsx8 q6UaZIWpctFtoFunBRKlRj487z60JOLAVB6uo1AgTUiekAl+tuWd4R/vPO0h8OID4MADIh S2wbWN9g9o4LdkNteE/mvhqpxc5TOTs5HAUPRuMopRvQptfwdNKidHqtCkc9E6oWO7plya h77znvp0R7vGuwk2MtSBlnEmYZh1gVMiDtkoJfPl1TvYAR7WI7Gk9NjORB9whOb2vW/Lfp O3gGspjYoBcJ2MIdKAzUmiNtit5QuWMAiGtLIT/U39EnmW6Sc3XM0NJxff1xhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793449024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R6zTCYQLwxYffY1ZOW6RC92YTtFbEY3q7Z6yD6Edo1Y=; b=RYR1lZdrBCN9OSSPl6aOzvO8lmYRfjBES8aZLtau8Vl8qJhRUZgQ0+gKKy9F7qupNGv1qK TLJMHLrlHJ5W2s+1quPI5nizG+3jjiOY9SYtlvd9Ua5VI+1ZgWWXVDiAFPZvBHbAPnPB0A PezkHDd5n6QQHunJt6a3I26wxbT8MT3FymvzCAmBYTTAzD9+AR17JnKXZicKB179YbPDTn Lc2oN+2UuyOaY/D86gnmgICe0qF/ykwMLzi+k7SwgykyFny1JdnpSfKHFUQ9f6SpSjsh3V HnolOunR2qeWuAGfwVBzl92saz3OFy+Sc2IGMYhinRd1724Im+/Qm94NP+wx5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4jGxmH6mXMz1CVH for ; Sat, 31 Oct 2026 12:17:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18624 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Oct 2026 12:16:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Steve Kargl From: Robert Clausecker Subject: git: 1fb5d8265bc4 - main - msun: fix behaviour of nextafter*() and nexttoward*() for MAX value List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1fb5d8265bc4bbbf1f5bc79cc1d2a7f280b446b2 Auto-Submitted: auto-generated Date: Sat, 31 Oct 2026 12:16:58 +0000 Message-Id: <6ae5dc3a.18624.7df86b03@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=1fb5d8265bc4bbbf1f5bc79cc1d2a7f280b446b2 commit 1fb5d8265bc4bbbf1f5bc79cc1d2a7f280b446b2 Author: Steve Kargl AuthorDate: 2026-10-31 10:18:06 +0000 Commit: Robert Clausecker CommitDate: 2026-10-31 10:19:54 +0000 msun: fix behaviour of nextafter*() and nexttoward*() for MAX value For an edge case at an extreme, e.g., nextafter(-DBL_MAX,-INFINITY) do not return x+x. Instead, evaluate x+x and assign it to a volatile to raise an exception, and then fall through to return the correct result in current rounding mode. PR: 299389 MFC after: 6 days (for inclusion into releng/15.2) --- lib/msun/src/s_nextafter.c | 2 +- lib/msun/src/s_nextafterf.c | 2 +- lib/msun/src/s_nextafterl.c | 2 +- lib/msun/src/s_nexttoward.c | 2 +- lib/msun/src/s_nexttowardf.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/msun/src/s_nextafter.c b/lib/msun/src/s_nextafter.c index 8ac5b9550946..33efb15ae355 100644 --- a/lib/msun/src/s_nextafter.c +++ b/lib/msun/src/s_nextafter.c @@ -60,7 +60,7 @@ nextafter(double x, double y) } } hy = hx&0x7ff00000; - if(hy>=0x7ff00000) return x+x; /* overflow */ + if(hy>=0x7ff00000) t = x+x; /* overflow */ if(hy<0x00100000) { /* underflow */ t = x*x; if(t!=x) { /* raise underflow flag */ diff --git a/lib/msun/src/s_nextafterf.c b/lib/msun/src/s_nextafterf.c index e8527e989190..5b177fac8188 100644 --- a/lib/msun/src/s_nextafterf.c +++ b/lib/msun/src/s_nextafterf.c @@ -50,7 +50,7 @@ nextafterf(float x, float y) } } hy = hx&0x7f800000; - if(hy>=0x7f800000) return x+x; /* overflow */ + if(hy>=0x7f800000) t = x+x; /* overflow */ if(hy<0x00800000) { /* underflow */ t = x*x; if(t!=x) { /* raise underflow flag */ diff --git a/lib/msun/src/s_nextafterl.c b/lib/msun/src/s_nextafterl.c index 65717aa461a8..1f0ce71ea2ad 100644 --- a/lib/msun/src/s_nextafterl.c +++ b/lib/msun/src/s_nextafterl.c @@ -61,7 +61,7 @@ nextafterl(long double x, long double y) ux.bits.exp += 1; } } - if(ux.bits.exp==0x7fff) return x+x; /* overflow */ + if(ux.bits.exp==0x7fff) t = x+x; /* overflow */ if(ux.bits.exp==0) { /* underflow */ mask_nbit_l(ux); t = ux.e * ux.e; diff --git a/lib/msun/src/s_nexttoward.c b/lib/msun/src/s_nexttoward.c index d8e04b107e25..ef3623d2e2cf 100644 --- a/lib/msun/src/s_nexttoward.c +++ b/lib/msun/src/s_nexttoward.c @@ -54,7 +54,7 @@ nexttoward(double x, long double y) if(lx==0) hx += 1; } ix = hx&0x7ff00000; - if(ix>=0x7ff00000) return x+x; /* overflow */ + if(ix>=0x7ff00000) t = x+x; /* overflow */ if(ix<0x00100000) { /* underflow */ t = x*x; if(t!=x) { /* raise underflow flag */ diff --git a/lib/msun/src/s_nexttowardf.c b/lib/msun/src/s_nexttowardf.c index 53ca3b9806af..2682c81e2b04 100644 --- a/lib/msun/src/s_nexttowardf.c +++ b/lib/msun/src/s_nexttowardf.c @@ -42,7 +42,7 @@ nexttowardf(float x, long double y) else /* x += ulp */ hx += 1; ix = hx&0x7f800000; - if(ix>=0x7f800000) return x+x; /* overflow */ + if(ix>=0x7f800000)t = x+x; /* overflow */ if(ix<0x00800000) { /* underflow */ t = x*x; if(t!=x) { /* raise underflow flag */