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

Yaron Keren yaron.keren at gmail.com
Tue Oct 8 02:29:46 PDT 2013


On Windows, libcxx ( locale.cpp,  ctype<char>::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:

http://gcc.gnu.org/ml/libstdc++/2007-07/msg00026.html

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...

Yaron
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20131008/aa8f65fe/attachment.html>


More information about the cfe-dev mailing list