From: Piotr Caban piotr@codeweavers.com
--- dlls/msvcp90/locale.c | 5 +---- dlls/msvcrt/tests/locale.c | 1 - include/msvcrt/complex.h | 7 +++++++ include/msvcrt/fenv.h | 2 ++ include/msvcrt/locale.h | 5 +++++ include/msvcrt/math.h | 14 +++++++------- include/msvcrt/time.h | 2 +- 7 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c index a856bcb1d26..e91eb42f80c 100644 --- a/dlls/msvcp90/locale.c +++ b/dlls/msvcp90/locale.c @@ -50,14 +50,11 @@ char* __cdecl _Getdays(void); wchar_t* __cdecl _W_Getdays(void); char* __cdecl _Getmonths(void); wchar_t* __cdecl _W_Getmonths(void); -void* __cdecl _Gettnames(void); int __cdecl ___lc_collate_cp_func(void); const locale_facet* __thiscall locale__Getfacet(const locale*, size_t); const locale* __cdecl locale_classic(void);
-#if _MSVCP_VER >= 110 -wchar_t ** __cdecl ___lc_locale_name_func(void); -#else +#if _MSVCP_VER < 110 LCID* __cdecl ___lc_handle_func(void); #endif
diff --git a/dlls/msvcrt/tests/locale.c b/dlls/msvcrt/tests/locale.c index 62632ce4b9d..f89221bebd8 100644 --- a/dlls/msvcrt/tests/locale.c +++ b/dlls/msvcrt/tests/locale.c @@ -31,7 +31,6 @@ static int *(__cdecl *p__p___mb_cur_max)(void); static _locale_t(__cdecl *p_create_locale)(int, const char*); static void(__cdecl *p_free_locale)(_locale_t); static int (__cdecl *p_wcsicmp_l)(const wchar_t*, const wchar_t*, _locale_t); -void* __cdecl _Gettnames(void);
static void init(void) { diff --git a/include/msvcrt/complex.h b/include/msvcrt/complex.h index 33a4a65ec6f..eb270a3e057 100644 --- a/include/msvcrt/complex.h +++ b/include/msvcrt/complex.h @@ -24,6 +24,10 @@ typedef struct _C_float_complex typedef _C_double_complex _Dcomplex; typedef _C_float_complex _Fcomplex;
+_ACRTIMP _Dcomplex __cdecl _Cbuild(double, double); +_ACRTIMP double __cdecl cimag(_Dcomplex); +_ACRTIMP double __cdecl creal(_Dcomplex); + #if defined(__i386__) && !defined(__MINGW32__) && !defined(_MSC_VER) /* Note: this should return a _Fcomplex, but calling convention for returning * structures is different between Windows and gcc on i386. */ @@ -44,4 +48,7 @@ static inline _Fcomplex __cdecl __wine__FCbuild(float r, float i) _ACRTIMP _Fcomplex __cdecl _FCbuild(float, float); #endif
+_ACRTIMP float __cdecl cimagf(_Fcomplex); +_ACRTIMP float __cdecl crealf(_Fcomplex); + #endif /* _COMPLEX_H_DEFINED */ diff --git a/include/msvcrt/fenv.h b/include/msvcrt/fenv.h index 2039a1fb4c8..6930b381ded 100644 --- a/include/msvcrt/fenv.h +++ b/include/msvcrt/fenv.h @@ -42,6 +42,8 @@ _ACRTIMP int __cdecl fesetexceptflag(const fexcept_t*, int); _ACRTIMP int __cdecl feclearexcept(int); _ACRTIMP int __cdecl fetestexcept(int);
+_ACRTIMP int __cdecl feupdateenv(const fenv_t*); + #ifdef __cplusplus } #endif diff --git a/include/msvcrt/locale.h b/include/msvcrt/locale.h index 8186f1756fd..d3e3d63ddec 100644 --- a/include/msvcrt/locale.h +++ b/include/msvcrt/locale.h @@ -90,9 +90,14 @@ _ACRTIMP size_t __cdecl _Strftime(char*,size_t,const char*,const struct t _ACRTIMP int __cdecl _configthreadlocale(int); _ACRTIMP _locale_t __cdecl _get_current_locale(void); _ACRTIMP _locale_t __cdecl _create_locale(int, const char*); +_ACRTIMP _locale_t __cdecl _wcreate_locale(int, const wchar_t*); _ACRTIMP void __cdecl _free_locale(_locale_t);
_ACRTIMP unsigned int __cdecl ___lc_codepage_func(void); +_ACRTIMP wchar_t** __cdecl ___lc_locale_name_func(void); + +_ACRTIMP void* __cdecl _Gettnames(void); +_ACRTIMP void* __cdecl _W_Gettnames(void);
#ifndef _WLOCALE_DEFINED #define _WLOCALE_DEFINED diff --git a/include/msvcrt/math.h b/include/msvcrt/math.h index 632bd8cac31..c3a31b30c2e 100644 --- a/include/msvcrt/math.h +++ b/include/msvcrt/math.h @@ -318,6 +318,13 @@ _ACRTIMP short __cdecl _fdclass(float); #define isnormal(x) (fpclassify(x) == FP_NORMAL) #define isfinite(x) (fpclassify(x) <= 0)
+ _ACRTIMP int __cdecl _dpcomp(double, double); + _ACRTIMP int __cdecl _fdpcomp(float, float); + +#define _FP_LT 1 +#define _FP_EQ 2 +#define _FP_GT 4 + #else
static inline int __isnanf(float x) @@ -371,13 +378,6 @@ static inline int __signbit(double x)
#ifdef _UCRT
- _ACRTIMP int __cdecl _dpcomp(double, double); - _ACRTIMP int __cdecl _fdpcomp(float, float); - -#define _FP_LT 1 -#define _FP_EQ 2 -#define _FP_GT 4 - #if defined(__GNUC__) || defined(__clang__) # define isgreater(x, y) __builtin_isgreater(x, y) # define isgreaterequal(x, y) __builtin_isgreaterequal(x, y) diff --git a/include/msvcrt/time.h b/include/msvcrt/time.h index 05965c4dad2..f9b49bdffd3 100644 --- a/include/msvcrt/time.h +++ b/include/msvcrt/time.h @@ -72,7 +72,7 @@ extern __msvcrt_long _timezone; extern char *_tzname; #endif
-#if !defined(_UCRT) && defined(_USE_32BIT_TIME_T) +#if _MSVCR_VER < 120 && defined(_USE_32BIT_TIME_T) #define _ctime32 ctime #define _difftime32 difftime #define _gmtime32 gmtime