Thread (6 messages) 6 messages, 4 authors, 2022-08-25

RE: [PATCH v3] Many pages: Document fixed-width types with ISO C naming

From: Joseph Myers <hidden>
Date: 2022-08-25 15:52:59
Also in: bpf, linux-arch, linux-man, lkml, ltp

On Thu, 25 Aug 2022, David Laight wrote:
From: Joseph Myers
quoted
Sent: 25 August 2022 15:39

On Thu, 25 Aug 2022, Linus Torvalds wrote:
quoted
That's a small detail that yes, we've tried to avoid the absolute
humongous mess that the C standard library has with their horrendous
'PRId*' mess, but honestly, it's just a tiny detail.
I've not yet implemented it for glibc or for GCC format checking, but C23
adds 'wN' format length modifiers so you will be able to e.g. use "%w64d"
with printf to print an int64_t and won't need those PRI macros any more.
Is that meant to work regardless of whether the type is
int, long or long long provided the size is correct?

Or does it require the compiler know which type inttypes.h
uses for uint32_t and uint64_t?
The type passed needs to be that used for the relevant stdint.h typedef, 
not another of the same size.  (For format checking, that means the 
compiler needs to know what the types used in stdint.h are.)

It's now required that if int32_t exists, int_least32_t must have the same 
type, so int_least32_t can also be used with that format (and there are 
'wfN' formats for int_fastN_t / uint_fastN_t as well).

-- 
Joseph S. Myers
joseph@codesourcery.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help