diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 592a47c8d8f..3ed0aafdc3d 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -2149,7 +2149,7 @@ @ cdecl fegetround() @ stub feholdexcept @ cdecl feof(ptr) -@ stub feraiseexcept +@ cdecl feraiseexcept(long) @ cdecl ferror(ptr) @ cdecl fesetenv(ptr) @ cdecl fesetexceptflag(ptr long) diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index c716b426ba0..8434c875107 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1815,7 +1815,7 @@ @ cdecl fegetround() msvcr120.fegetround @ stub feholdexcept @ cdecl feof(ptr) msvcr120.feof -@ stub feraiseexcept +@ cdecl feraiseexcept(long) msvcr120.feraiseexcept @ cdecl ferror(ptr) msvcr120.ferror @ cdecl fesetenv(ptr) msvcr120.fesetenv @ cdecl fesetexceptflag(ptr long) msvcr120.fesetexceptflag diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index 6f582b595cf..c2b9bc9675d 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -2261,6 +2261,18 @@ int CDECL fesetexceptflag(const fexcept_t *status, int excepts) return fesetenv(&env); } +/********************************************************************* + * feraiseexcept (MSVCR120.@) + */ +int CDECL feraiseexcept(int flags) +{ + fenv_t env; + + fegetenv(&env); + env._Fe_stat |= (flags & FE_ALL_EXCEPT); + return fesetenv(&env); +} + /********************************************************************* * feclearexcept (MSVCR120.@) */