[PATCH] Support %m in printf functions

Howland Craig D (Craig) howland@LGSInnovations.com
Tue Jan 3 16:49:00 GMT 2012

On 01/03/2012 11:33 AM, Eric Blake wrote:
>On 01/03/2012 03:37 AM, Richard Earnshaw wrote:
>> On 01/01/12 17:59, Yaakov (Cygwin/X) wrote:
>>> This patch adds support for the "%m" conversion specifier in the
>>> and wprintf functions, a GNU extension:
>> I think there should be a way of building printf with all GNU
>> disabled.
>I very much agree that this needs to be gated if we add it; I also
>that none of the existing gates are appropriate (I see at least these
>_MB_CAPABLE and _WANT_IO_C99_FORMATS), se we'd need a new one, as well
>as the configure machinery to enable the gate.
>Also, I note that right now we have %'d under _WANT_IO_C99_FORMATS,
>which isn't really accurate, as support for the thousands separator is
>POSIX but not a C99 requirement.  _WANT_IO_C99_FORMATS for things like
>%hhd is appropriate, though, as that really was something added in C99
>but not in C89.  So as long as we are talking about adding gates, maybe
>we should add two levels of gates: one for things required by POSIX but
>not C99, and one for extensions like %m that are not required by POSIX.
I agree that the present gates are somewhat sloppy and that cleaning up
and augmenting them is a good idea.

I suggest that GLIBC extensions are worthy of their own gating category.
(GLIBC uses _GNU_SOURCE to enable their own extensions, but they couple
this with all other addition categories (e.g. POSIX, BSD), so this is
not good for Newlib's purposes.  I'd suggest something like


More information about the Newlib mailing list