[libcxx] locale usage of _ctype[] table from MSVCRT may be problematic

On Windows, libcxx ( locale.cpp, ctype::classic_table() ) uses _ctype form MSVCRT as the classic C table.

In MingW, they switched from MSVCRT table to a self-made table due to non-conformance, see the explanation here:


The file was later renamed to ctype_configure_char.cc, GPL license.

Also, a comment in locale.cpp:1020 says:

return _ctype+1; // internal ctype mask table defined in msvcrt.dll
// This is assumed to be safe, which is a nonsense assumption because we’re
// going to end up dereferencing it later…