Is libc C99 compliant?

Warner Losh imp at bsdimp.com
Thu Jan 31 16:32:28 UTC 2019


On Wed, Jan 30, 2019 at 11:33 PM Steve Kargl <
sgk at troutmask.apl.washington.edu> wrote:

> When building gcc file gcc/config/freebsd.c contains
>
> #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function
>
> In targhook.c, one finds
>
> /* By default we assume that c99 functions are present at the runtime,
>    but sincos is not.  */
> bool
> default_libc_has_function (enum function_class fn_class)
> {
>   if (fn_class == function_c94
>       || fn_class == function_c99_misc
>       || fn_class == function_c99_math_complex)
>     return true;
>
>   return false;
> }
>
> bool
> no_c99_libc_has_function (enum function_class fn_class ATTRIBUTE_UNUSED)
> {
>   return false;
> }
>
> Shouldi/can TARGET_LIBC_HAS_FUNCTION be updated to at least
> default_libc_has_function?  More importantly now that libm
> contains sincos[fl], should FreeBSD gcc config file be updated
> to use
>
> bool
> bsd_libc_has_function (enum function_class fn_class)
> {
>   if (fn_class == function_c94
>       || fn_class == function_c99_misc
>       || fn_class == function_c99_math_complex
>       || fn_class == function_sincos)
>     return true;
>
>   return false;
> }


On its surface, this seems sane to me. what does this control? And is this
for our ancient 4.2 or current gcc...

Warner


>
> --
> Steve
> _______________________________________________
> freebsd-toolchain at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
> To unsubscribe, send any mail to "
> freebsd-toolchain-unsubscribe at freebsd.org"
>


More information about the freebsd-standards mailing list