[PATCH] Define _C99 in libstdc++ vxworks/os_defines.h
Rasmus Villemoes
rasmus.villemoes@prevas.dk
Fri Dec 10 15:15:20 GMT 2021
On 10/12/2021 16.06, Olivier Hainque wrote:
> Hello,
>
> The attached patch for libstdc++ / VxWorks helps building
> the library for old versions of the OS, as witnessed with
> VxWorks 6.9 in particular.
>
> It explicitly requests C99 features from old system headers,
> on which libstc++ relies since at least c++98. The specific
> issue that exposed this was a failure to compile
>
> libstdc++-v3/src/c++17/floating_to_chars.cc
>
> for VxWorks 6.9 with a batch of errors such as:
>
> error: 'FP_NAN' was not declared in this scope
>
> The missing definitions are provided by the
> system headers with guards on _HAS_C9X, which gets
> internally defined when _C99 is.
>
> Ok to commit?
Yes, we've observed that error as well. We have just patched our vxworks
5.5 headers to provide FP_NAN et al. There's no test of definedness or
other uses of a _C99 macro anywhere, so ok by me, as it shouldn't change
anything on our end.
Rasmus
More information about the Libstdc++
mailing list