You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[libc++] Do not guard inclusion of wchar.h with _LIBCPP_HAS_WIDE_CHARACTERS
mbstate_t needs to be visible to libcpp, even when it is not providing wide
character functionality (i.e. _LIBCPP_HAS_WIDE_CHARACTERS is turned off)
and thus not using any of the C library's wide character functions.
There are C libraries (such as newlib-nano/nanolib/picolibc) which do
provide their definition of mbstate_t in <wchar.h> even though they do not
come with wide character functions.
Since there is a way to conditionally include the C library's <wchar.h>
only if it exists, we should rely on the fact that if it exists, it will
provide mbstate_t. Removing this guard will allow using libc++ on top of
newlib-nano/picolibc while not breaking the cases where it is used on top
of a C library which doesn't provide <wchar.h> (since it would then still
go look for <uchar.h> or error out).
0 commit comments