mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 11:25:21 +01:00
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: 6296500a85
Reported by: Collin Funk <[email protected]>
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D56515
This commit is contained in:
1 parent
1b8e5c02f5
commit
c8c9324c94
2 files changed
+24
-1
No files matched your search
+21
-1
@@ -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
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
*/
|
*/
|
||||||
@@ -8,6 +8,26 @@
|
|||||||
#define __STDC_VERSION_STDBIT_H__ 202311L
|
#define __STDC_VERSION_STDBIT_H__ 202311L
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#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 */
|
/* byte order */
|
||||||
#define __STDC_ENDIAN_LITTLE__ __ORDER_LITTLE_ENDIAN__
|
#define __STDC_ENDIAN_LITTLE__ __ORDER_LITTLE_ENDIAN__
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
#include <machine/_stdint.h>
|
#include <machine/_stdint.h>
|
||||||
#include <sys/_stdint.h>
|
#include <sys/_stdint.h>
|
||||||
|
|
||||||
|
#ifndef _INT_LEAST_T_DECLARED
|
||||||
typedef __int_least8_t int_least8_t;
|
typedef __int_least8_t int_least8_t;
|
||||||
typedef __int_least16_t int_least16_t;
|
typedef __int_least16_t int_least16_t;
|
||||||
typedef __int_least32_t int_least32_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_least16_t uint_least16_t;
|
||||||
typedef __uint_least32_t uint_least32_t;
|
typedef __uint_least32_t uint_least32_t;
|
||||||
typedef __uint_least64_t uint_least64_t;
|
typedef __uint_least64_t uint_least64_t;
|
||||||
|
#define _INT_LEAST_T_DECLARED
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef __int_fast8_t int_fast8_t;
|
typedef __int_fast8_t int_fast8_t;
|
||||||
typedef __int_fast16_t int_fast16_t;
|
typedef __int_fast16_t int_fast16_t;
|
||||||
|
|||||||
Reference in new issue
Block a user