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

Reply via email to