LIU Hao wrote: > The first patch adds a new header, corecrt_wlocale.h; but in Microsoft CRT > there's no such header. I > don't think the change is right.
Jacek pointed this out as well. I think it is not a big issue; the usage here is consistent with other corecrt_w*.h headers. I suggested to move those two _w* functions to locale.h and then include it from wchat.h, but I didn't get any comment whether it would be OK to do so. > The second and third patches undefine some macros. That may be fine, since > UCRT headers don't define the > any more; however they are defined by WDK (kernel-mode) locale.h. My impression is that those macros were primarily used to guard declarations which are repeated in multiple headers, and this patch series de-duplicates such declarations. We already removed similar macros from ctype.h with my older changes. > IIRC libc++ used to require MSVCR80+ some years ago; with MSVCRT, it did not > build at that time. However > MSVCR80 and 90 require manifests so are tricky already; it's recommended to > link against MSVCR100 at least. > > If they do require Windows 8 MSVCRT, it's possible to build libc++.dll with > `-Wl,--subsystem,windows:6.2`. > > (6.3 isn't operational yet, as it requires `SecurityCookie` be set in the > Load Config Directory of an > image, which mingw-w64 doesn't do at the moment.) Original version of these changes was meant to expose those with condition ``` #if __MSVCRT_VERSION__ >= 0x0800 || (__MSVCRT_VERSION__ == 0x0600 && _WIN32_WINNT >= 0x0602) ``` Which would expose them when: - compiling for msvcr80.dll and later - compiling for msvcrt.dll and defining _WIN32_WINNT to 0x0602 (Windows 8) and higher The latter breaks building libc++, which ultimately causes CI to fail. For this reason, I sent slightly different version of changes which always exposes them for msvcrt.dll, so we do not break libc++ builds. - Kirill Makurin _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
