Date: Mon, 20 Apr 2026 21:01:20 +0000 Message-ID: <69e69420.26fc8.2e0a62ad@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=c8c9324c94dfd4eeecbcfe4a1d3daa047420d3e5 commit c8c9324c94dfd4eeecbcfe4a1d3daa047420d3e5 Author: Robert Clausecker <fuz@FreeBSD.org> AuthorDate: 2026-04-19 12:36:34 +0000 Commit: Robert Clausecker <fuz@FreeBSD.org> CommitDate: 2026-04-20 20:59:54 +0000 include/stdbit.h: declare size_t, (u)int*_t, and (u)int_least*_t These are required by ISO/IEC 9899:2024 § 7.18.1 ¶ 1 but were forgotten in my initial work. The current approach leaks intptr_t, uintptr_t, intmax_t, and uintmax_t through <sys/_stdint.h>. This could be avoided using a more complicated approach if desired. PR: 294131 Fixes: 6296500a85c8474e3ff3fe2f8e4a9d56dd0acd64 Reported by: Collin Funk <collin.funk1@gmail.com> Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56515 --- include/stdbit.h | 22 +++++++++++++++++++++- sys/sys/stdint.h | 3 +++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/include/stdbit.h b/include/stdbit.h index a529676bed4b..6b9ea02971b0 100644 --- a/include/stdbit.h +++ b/include/stdbit.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2025 Robert Clausecker <fuz@FreeBSD.org> + * Copyright (c) 2025-2026 Robert Clausecker <fuz@FreeBSD.org> * * SPDX-License-Identifier: BSD-2-Clause */ @@ -8,6 +8,26 @@ #define __STDC_VERSION_STDBIT_H__ 202311L #include <sys/cdefs.h> +#include <sys/_types.h> +#include <sys/_stdint.h> + +#ifndef _SIZE_T_DECLARED +typedef __size_t size_t; +#define _SIZE_T_DECLARED +#endif + +#ifndef _INT_LEAST_T_DECLARED +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; +#define _INT_LEAST_T_DECLARED +#endif /* byte order */ #define __STDC_ENDIAN_LITTLE__ __ORDER_LITTLE_ENDIAN__ diff --git a/sys/sys/stdint.h b/sys/sys/stdint.h index 77f469f3c2a3..dccc5a8e6a6d 100644 --- a/sys/sys/stdint.h +++ b/sys/sys/stdint.h @@ -35,6 +35,7 @@ #include <machine/_stdint.h> #include <sys/_stdint.h> +#ifndef _INT_LEAST_T_DECLARED typedef __int_least8_t int_least8_t; typedef __int_least16_t int_least16_t; typedef __int_least32_t int_least32_t; @@ -44,6 +45,8 @@ typedef __uint_least8_t uint_least8_t; typedef __uint_least16_t uint_least16_t; typedef __uint_least32_t uint_least32_t; typedef __uint_least64_t uint_least64_t; +#define _INT_LEAST_T_DECLARED +#endif typedef __int_fast8_t int_fast8_t; typedef __int_fast16_t int_fast16_t;home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69e69420.26fc8.2e0a62ad>
