From nobody Sat Apr 25 16:32:32 2026 X-Original-To: dev-commits-src-branches@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 4g2wNJ2qGzz6bmMT for ; Sat, 25 Apr 2026 16:32:32 +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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g2wNJ1Zy1z46wj for ; Sat, 25 Apr 2026 16:32:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777134752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gdxYZ6d6yfl7M1MPgEU/P9PMgZtLkBgzAYst3khx6+s=; b=kAKEvQprkX1TjdfX3Qcmqcf9S+zhJh4FBycgs83cs9gY/qWvC+p21DPRRu66HZGn6c4jSJ y3cpR+kiEIquS4LpUlOlioySfXXOHhgN7CABqCBy9cz26OoTovu/c5uUkgd0SrTPlGlRtm FvHdu0xpWEOdDsSBnQ5aFlm63t3kd2+yHYujCdTJ/EuRJQBqe28WrPPKa5dIv3m6Ji7VLU ikm6TClGjEIApIYihZgO2f2kqXLhGo7UvxVIlxQb5LHa8Ifhifxr9fJIwTRBYxISaIerA/ dmjQBDNurU47t2CAy5EkEN4jBQVtobs20XJSNTxtJCEtz8KNR3bUsz3i1nvybA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777134752; a=rsa-sha256; cv=none; b=uCfmZQiF++yI3+gOi3Lt+S+/uPym1ifRDK7Rwnxp3CMFcLXiNR308gMivC2sN9vLE4WpnA Cpeqnah1kPUD1joBrRgrLu7rr3PwbY/cqdap+Ks3RCmhOMzq20Mi2EQCAQsCrX8QTc/kXo WeKEIpBvWxmFaNwq0JXfnJTP2iaXNQvfcnTaJqbXkSMrz8d+ujZdJCng9zWMhhs64+buup sIR4msgX+XmC62yIN+cZ561ADJpgkDA+JMNnFKxk5o/7mL+lTnLBwcNu5AFckBMZdz1/n4 94jdRn5MHWTtstg3gpPBMxLRLZ94XVtZ7SvBTq2qmsq3CscC9kKHl1nhNjco7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777134752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gdxYZ6d6yfl7M1MPgEU/P9PMgZtLkBgzAYst3khx6+s=; b=qdfYLCMk14JEImHe1ZuXWX1CVmHgu71+WXDSsHK5OtedfNp8wbE3QCMghP0+1GDPw/Cznu lKUQX4/m9EMAVmuNY41wG0HDB6HxkjVatDbjUg6xirMHwftzCcPrunIVTqfnsbwqgDN5q6 kzXoyTZgnOPQ+J4FQQOISiiG3SJi+i8OGDBFdd+pD66I7Q6hFKyFybJbpZWhulsVf+EM29 TgbueEcduQpcQJcEMpiSwEQ+hNdqBMWA3syrqgzRec1rJ6GKJNHcwIBMb4EwS5F/jx9De8 spz7Jb6lyLFAZ5vjot/KEM1LkRlov/Kc04ZWkKvUkDLdaefzTZlk9pS2VsIRBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g2wNJ10MZzhnF for ; Sat, 25 Apr 2026 16:32:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4519c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 25 Apr 2026 16:32:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Enji Cooper Subject: git: ee828a44e8d1 - stable/14 - lib/libnetbsd: bring in `__type_m{ax,in}*` macro family List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ee828a44e8d16e7bf74c0761bd088024821f1eb6 Auto-Submitted: auto-generated Date: Sat, 25 Apr 2026 16:32:32 +0000 Message-Id: <69ececa0.4519c.39b6132b@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=ee828a44e8d16e7bf74c0761bd088024821f1eb6 commit ee828a44e8d16e7bf74c0761bd088024821f1eb6 Author: Enji Cooper AuthorDate: 2026-02-26 02:29:49 +0000 Commit: Enji Cooper CommitDate: 2026-04-25 16:32:25 +0000 lib/libnetbsd: bring in `__type_m{ax,in}*` macro family These macros are used by some of the NetBSD tests which calculate the size of types, e.g., `__type_max(time_t)`. This wraps up the set of macros needed in order to update to the a netbsd-tests snapshot from this past month. Obtained from: https://github.com/netbsd/src (55b4b44) MFC after: 1 week (cherry picked from commit db5344a7445f1a796bc3cacd32a46e88e3e589a7) --- lib/libnetbsd/sys/cdefs.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lib/libnetbsd/sys/cdefs.h b/lib/libnetbsd/sys/cdefs.h index fcc3cc6f15be..d0e06e46d241 100644 --- a/lib/libnetbsd/sys/cdefs.h +++ b/lib/libnetbsd/sys/cdefs.h @@ -94,4 +94,34 @@ */ #define __nothing (/*LINTED*/(void)0) +#define __negative_p(x) (!((x) > 0) && ((x) != 0)) + +#define __type_min_s(t) ((t)((1ULL << (sizeof(t) * __CHAR_BIT__ - 1)))) +#define __type_max_s(t) ((t)~((1ULL << (sizeof(t) * __CHAR_BIT__ - 1)))) +#define __type_min_u(t) ((t)0ULL) +#define __type_max_u(t) ((t)~0ULL) +#define __type_is_signed(t) (/*LINTED*/__type_min_s(t) + (t)1 < (t)1) +#define __type_min(t) (__type_is_signed(t) ? __type_min_s(t) : __type_min_u(t)) +#define __type_max(t) (__type_is_signed(t) ? __type_max_s(t) : __type_max_u(t)) + + +#define __type_fit_u(t, a) \ + (/*LINTED*/!__negative_p(a) && \ + ((__UINTMAX_TYPE__)((a) + __zeroull()) <= \ + (__UINTMAX_TYPE__)__type_max_u(t))) + +#define __type_fit_s(t, a) \ + (/*LINTED*/__negative_p(a) \ + ? ((__INTMAX_TYPE__)((a) + __zeroll()) >= \ + (__INTMAX_TYPE__)__type_min_s(t)) \ + : ((__INTMAX_TYPE__)((a) + __zeroll()) >= (__INTMAX_TYPE__)0 && \ + ((__INTMAX_TYPE__)((a) + __zeroll()) <= \ + (__INTMAX_TYPE__)__type_max_s(t)))) + +/* + * return true if value 'a' fits in type 't' + */ +#define __type_fit(t, a) (__type_is_signed(t) ? \ + __type_fit_s(t, a) : __type_fit_u(t, a)) + #endif /* _LIBNETBSD_SYS_CDEFS_H_ */