Stefan, I was referring to %zu. But, when the argument is int32_t, one needs to correctly pick %d or %ld to avoid a senseless warning. Or, always use %ld and—safely and without penalty—cast the argument to long. But I dislike cluttering my code with casts that might hide future defects. (Let's not have an argument about using printf at all, as this is far beyond the scope of the original question.) I guess does have definitions that _might_ solve this, but they are awkward and by experience don’t always exist. Mike ________________________________ From: Newlib on behalf of Stefan Tauner Sent: Friday, July 28, 2023 12:11 PM To: newlib@sourceware.org Subject: Re: [EXTERNAL]: Re: Why int32_t is long int on 32 Bit Intel? On Fri, 28 Jul 2023 15:49:25 +0000 Mike Burgess wrote: > Printf has a pretty good solution for size_t nowadays, but not so much for int32_t. It does. inttypes.h -- Kind regards/Mit freundlichen Grüßen, Stefan Tauner ---------------------------------------------------------------------- This email is from Coherent Corp. or a Coherent group company. The contents of this email, including any attachments, are intended solely for the intended recipient and may contain Coherent proprietary and/or confidential information and material. Any review, use, disclosure, re-transmission, dissemination, distribution, retention, or copying of this email and any of its contents by any person other than the intended recipient is strictly prohibited. If you received this email in error, please immediately notify the sender and destroy any and all copies of this email and any attachments. To contact us directly, please email postmaster@coherent.com. Privacy: For information about how Coherent processes personal information, please review our privacy policy at https://ii-vi.com/privacy/.