> On 11 Dec 2021, at 18:09, Jonathan Wakely <jwakely....@gmail.com> wrote:
> 
>         * config/vxworks.h (VXWORKS_OS_CPP_BUILTINS): Define
>         _C99 for C++.
> 
> Makes sense?
> 
> Yes. I can't approve patches outside libstdc++, but that looks definitely 
> correct for C++11 and later, because C++11 incorporates the whole C99 library 
> by reference. So if that macro is needed to get the C99 library (because the 
> vxworks libc doesn't check the__cplusplus macro and enable C99 features that 
> way), then I agree _C99 should be defined for C++11. Defining it for C++11 is 
> sufficient to solve the isblank problem, because std::isblank is only 
> declared for C++11 and later. (std::tr1::isblank is declared for C++98 if the 
> C library supports it, but nobody really cares about TR1 nowadays, and 
> probably hardly anybody cares about C++98).
> 
> Defining _C99 is not strictly correct for C++98 mode, because C++98 
> incorporates the C89 library by reference. But as you noted in the earlier 
> patch, libstdc++ likes to have full C99 facilities available even for C++98 
> mode (so it can use them for std::tr1 features, among other things). So I 
> think defining it even for C++98 is fine too.

Testing looks good so far and libstdc++ configure is a lot
happier indeed.

Inspecting the logs spotted an inaccuracy in another area,
which I'll address separately.

Thanks a lot for your feedback!

With Kind Regards,

Olivier


Reply via email to