This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: C99 support in Newlib
- From: "Andre Vieira (lists)" <Andre dot SimoesDiasVieira at arm dot com>
- To: "newlib at sourceware dot org" <newlib at sourceware dot org>
- Date: Mon, 11 Jan 2016 14:27:39 +0000
- Subject: Re: C99 support in Newlib
- Authentication-results: sourceware.org; auth=none
- References: <CAOAAYWCVo=_y_z-MMv+kPSnOkdmZyRmdf7-vSBTMxYhD_dpc8Q at mail dot gmail dot com> <20150114161728 dot GJ15791 at calimero dot vinschen dot de> <CAL0py27b0tRYe31X9cSW9FpP8swbY5YLk9UM4XUZk9XTb3vT4w at mail dot gmail dot com> <20150120100612 dot GZ3122 at calimero dot vinschen dot de> <54BE3A2F dot 2030703 at op dot pl> <20150120114638 dot GC3122 at calimero dot vinschen dot de> <54BE40DE dot 9080206 at op dot pl>
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 that
"%[...]" is supported, but "%[^...]" is not.
No, it is. See libc/stdio/sccl.c.
Right, my mistake (; Sorry for the noise then (;
Regards,
FCh
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69227
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:
function_c94:
functions only part of the standard in C94 or above.
function_c99_misc:
functions only part of the standard in C99 or above.
function_c99_math_complex:
math complex functions only part of the standard in C99 or above.
function_c11_misc:
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
lib_a-w_sincos.o:
00000000 T sincos
lib_a-wf_sincos.o:
00000000 T sincosf
Can someone confirm the support or lack thereof for these classes in
newlib for 'arm-none-eabi'.
Thanks!
BR,
Andre