On Tuesday 06 May 2025 17:31:57 Martin Storsjö wrote: > On Thu, 17 Apr 2025, Pali Rohár wrote: > > > There is missing call _configthreadlocale(-1) in pre_c_init function. > > Startup code from Visual C++ runtime is doing same thing. > > > > This applies only for msvcr80+ and UCRT builds. For older msvcrt versions > > there is only empty wrapper. > > --- > > mingw-w64-crt/crt/crtexe.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/mingw-w64-crt/crt/crtexe.c b/mingw-w64-crt/crt/crtexe.c > > index 4bc8a92f497a..6da7e23fba92 100644 > > --- a/mingw-w64-crt/crt/crtexe.c > > +++ b/mingw-w64-crt/crt/crtexe.c > > @@ -112,6 +112,7 @@ pre_c_init (void) > > > > if (__globallocalestatus == -1) > > { > > + _configthreadlocale(-1); > > What is the parameter -1 here? > > According to the docs, we can pass _ENABLE_PER_THREAD_LOCALE (1) or > _DISABLE_PER_THREAD_LOCALE (2), or 0 to query the current setting. But the > docs don't say anything about passing -1 as parameter. > > // Martin
IIRC in some doc which I read was written that the -1 is a special value used for the initialization and called only during crt initialization. And vc++ startup code is also calling it with -1. _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public