On Fri Oct 25 09:11:13 2024 +0000, Rémi Bernon wrote:
Hmm I see. Would this be right or should I keep the _UCRT guard (I'm not sure why it's there in the first place)?
#ifdef _MSC_VER _ACRTIMP long double __cdecl strtold(const char*,char**); _ACRTIMP long double __cdecl _strtold_l(const char*,char**,_locale_t); #else static inline long double strtold(const char *string, char **endptr) { return strtod(string, endptr); } static inline long double _strtold_l(const char *string, char **endptr, _locale_t locale) { return _strtod_l(string, endptr, locale); } #endif
Btw I see there's also _atold which returns a long double, but it doesn't seem to be exported or even defined anywhere... not sure where that came from, perhaps we should remove it?
Those are exported since msvcr120, so to be precise, it would be something like: ``` #if defined(__GNUC__) || _MSVCR_VER < 120 // use inlines #else // use dllimport #endif ```
`_atold` seems to be a result of importing the header from some ancient mingw and never fixing it, we should probably remove it.