C99 support in Newlib
Andre Vieira (lists)
Thu Jan 14 14:04:00 GMT 2016
On 11/01/16 14:27, Andre Vieira (lists) wrote:
> On 20/01/15 11:49, Freddie Chopin wrote:
>> On 01/20/2015 12:46 PM, Corinna Vinschen wrote:
>>> On Jan 20 12:21, Freddie Chopin wrote:
>>>> On 01/20/2015 11:06 AM, Corinna Vinschen wrote:
>>>>> On Jan 20 17:19, Joey Ye wrote:
>>>>>> Corinna, May I know which features are missing please?
>>>>> As far as I can tell, mainly the long double functions for targets
>>>>> with sizeof(double) != sizeof(long double).
>>>> I have one more - from my recent browsing of scanf() code, I assume
>>>> "%[...]" is supported, but "%[^...]" is not.
>>> No, it is. See libc/stdio/sccl.c.
>> Right, my mistake (; Sorry for the noise then (;
> Hi there,
> I thought I'd reply to this thread as it is very much related to my issue.
> In a recent GCC patch a change to an optimization, which now checks for
> the existence of libc support for C99 functions, lead to a regression
> for arm-none-eabi. This is because currently GCC is set up to assume no
> C99 support is available for arm-none-eabi. As far as I know this is
> because it comes with newlib and as this thread points out it does not
> claim to fully support C99. See
> Hopefully with some help I can figure out what GCC 'function classes'
> can be seen as supported by newlib for arm-none-eabi. These function
> classes are:
> functions only part of the standard in C94 or above.
> functions only part of the standard in C99 or above.
> math complex functions only part of the standard in C99 or above.
> functions only part of the standard in C11 or above
> And there is also 'function_sincos' for which I couldn't find a
> definition though I assume its for the GNU extension 'sincos'.
> $arm-none-eabi-nm libm.a | grep sincos
> 00000000 T sincos
> 00000000 T sincosf
> Can someone confirm the support or lack thereof for these classes in
> newlib for 'arm-none-eabi'.
As an investigation exercise I constructed a list of all functions in
the C99 standard and I checked whether the newlib version we build for
arm-none-eabi defined these and I found that it was missing quite a lot
of them! See attached file.
That answers my question for the bugzilla ticket. We can not enable
function_c99_* function class support for arm-none-eabi.
-------------- next part --------------
More information about the Newlib