selective linking of floating point support for *printf / *scanf

Thomas Preud'homme
Sat Aug 30 04:27:00 GMT 2014

> From: Grissiom [] 
> Sent: Friday, August 29, 2014 11:51 PM
> Yes, it does.  The namespace reserved for the implementation is _[_A-Z].
 > The namespace _[a-z] is still available for the user.  Which means the
> user can declare their own _printf_float, and WE (as the implementation)
> MUST NOT INTERFERE with it.  Since WE are the implementation, we should
> use the namespace reserved for us, namely __printf_float.

Mmmh indeed. I checked C99 and section 7.1.3 paragraph 1 third clause states:

"All identifiers that begin with an underscore and either an uppercase letter or
another underscore are always reserved for any use."

Next clause express how single underscore not followed by a capital letter is

"All identifiers that begin with an underscore are always reserved for use as identifiers
with file scope in both the ordinary and tag name spaces."

Since here we are talking about linkage, _printf_float is not safe according to the


Ok I need to think about it. Thank you all for pointing out the problem with the
current scheme.

Best regards,


More information about the Newlib mailing list