<div dir="rtl"><div dir="ltr">On Windows, libcxx ( locale.cpp, ctype<char>::classic_table() ) uses _ctype form MSVCRT as the classic C table.</div><div dir="ltr"><br></div><div dir="ltr">In MingW, they switched from MSVCRT table to a self-made table due to non-conformance, see the explanation here:</div>
<div dir="ltr"><br></div><div dir="ltr"><a href="http://gcc.gnu.org/ml/libstdc++/2007-07/msg00026.html">http://gcc.gnu.org/ml/libstdc++/2007-07/msg00026.html</a><br></div><div dir="ltr"><br></div><div dir="ltr">The file was later renamed to ctype_configure_char.cc, GPL license.</div>
<div dir="ltr"><br></div><div dir="ltr">Also, a comment in locale.cpp:1020 says:</div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr"><font face="courier new, monospace"> return _ctype+1; // internal ctype mask table defined in msvcrt.dll</font></div>
<div dir="ltr"><font face="courier new, monospace">// This is assumed to be safe, which is a nonsense assumption because we're</font></div><div dir="ltr"><font face="courier new, monospace">// going to end up dereferencing it later...</font></div>
</div><div dir="ltr"><br></div><div dir="ltr">Yaron</div><div dir="ltr"><br></div></div>