From 5f83b2674e42cd74257731b281f66d0442bf045f Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 19 Jun 2023 18:52:12 +0000 Subject: C2x printf %wN, %wfN support (bug 24466) ISO C2x defines printf length modifiers wN (for intN_t / int_leastN_t / uintN_t / uint_leastN_t) and wfN (for int_fastN_t / uint_fastN_t). Add support for those length modifiers (such a feature was previously requested in bug 24466). scanf support is to be added separately. GCC 13 has format checking support for these modifiers. When used with the support for registering format specifiers, these modifiers are translated to existing flags in struct printf_info, rather than trying to add some way of distinguishing them without breaking the printf_info ABI. C2x requires an error to be returned for unsupported values of N; this is implemented for printf-family functions, but the parse_printf_format interface doesn't support error returns, so such an error gets discarded by that function. Tested for x86_64 and x86. --- NEWS | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 7a4df85f08..7cec03cc76 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,13 @@ Major new features: * PRIb* and PRIB* macros from C2X have been added to . +* printf-family functions now support the wN format length modifiers for + arguments of type intN_t, int_leastN_t, uintN_t or uint_leastN_t (for + example, %w32d to print int32_t or int_least32_t in decimal, or %w32x + to print uint32_t or uint_least32_t in hexadecimal) and the wfN format + length modifiers for arguments of type int_fastN_t or uint_fastN_t, as + specified in draft ISO C2X. + * A new tunable, glibc.pthread.stack_hugetlb, can be used to disable Transparent Huge Pages (THP) in stack allocation at pthread_create. -- cgit 1.4.1