Martin Storsjö <[email protected]> wrote:

> On Wed, 8 Jul 2026, Kirill Makurin wrote:
>
>> My expectation is that if an application or library uses `_locale_t`, it
>> really depends on this CRT feature for one reason or another. However,
>> in msvcrt.dll it is only fully available since Windows 8, making such
>> applications and libraries half- or completely unfunctional on Windows 7
>> and older.
>
> Also, another aspect of the point is that the libc++ DLL references these
> symbols. But in practice, I think very few, if any, users of libc++ (or
> the C++ standard library in general) actually use the features that even
> touch that.
>
> Disallowing using libc++ on Windows 7/msvcrt.dll, because it contains
> _some_ optional functionality in a corner case feature which nobody uses,
> sounds kinda restrictive to me.

I agree with this in context of libc++, but what if some other project heavily 
relies on working `_create_locale`?

I think that the perfect solution would be for libc++ to check whether 
`_create_locale` is really available during configuration. However, you pointed 
out that getting this done in libc++ would be troublesome.

In another reply I suggested to expose `_create_locale` etc. for msvcrt.dll 
with _WIN32_WINNT defined to 0x0601 (Vista) or higher; this will expose them 
when other `_locale_t` functions are also exposed (they are available in 
msvcrt.dll since Vista).

- Kirill Makurin

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to