[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-libc-dev] selective linking of floating point support for *prin
From: |
Andrew Haley |
Subject: |
Re: [avr-libc-dev] selective linking of floating point support for *printf / *scanf |
Date: |
Tue, 02 Sep 2014 09:40:20 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0 |
On 09/02/2014 08:33 AM, Joey Ye wrote:
> On Sat, Aug 30, 2014 at 12:26 PM, Thomas Preud'homme
> <address@hidden> wrote:
>>> From: Grissiom [mailto:address@hidden
>>> 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."
>
> Apparently newlib is not following this specification very well, as
> there are symbols like _abc_r defined every where in current newlib.
newlib is part of the implementation, so it's allowed to do this.
Andrew.