> From: Grissiom [mailto:chaos.pro...@gmail.com] 
> 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
reserved:

"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
standard.

Sigh.

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

Best regards,

Thomas


Reply via email to