Module: wine Branch: master Commit: 8f54e2034e962950a47e762c73fdbf7762a14892 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8f54e2034e962950a47e762c73...
Author: Vincent Povirk vincent@codeweavers.com Date: Tue Jul 25 15:15:48 2017 -0500
gdiplus/tests: Enable floating point exceptions.
Signed-off-by: Vincent Povirk vincent@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/gdiplus/tests/brush.c | 7 +++++++ dlls/gdiplus/tests/customlinecap.c | 7 +++++++ dlls/gdiplus/tests/font.c | 7 +++++++ dlls/gdiplus/tests/graphics.c | 7 +++++++ dlls/gdiplus/tests/graphicspath.c | 7 +++++++ dlls/gdiplus/tests/image.c | 7 +++++++ dlls/gdiplus/tests/matrix.c | 7 +++++++ dlls/gdiplus/tests/metafile.c | 7 +++++++ dlls/gdiplus/tests/pathiterator.c | 7 +++++++ dlls/gdiplus/tests/pen.c | 7 +++++++ dlls/gdiplus/tests/region.c | 7 +++++++ dlls/gdiplus/tests/stringformat.c | 7 +++++++ 12 files changed, 84 insertions(+)
diff --git a/dlls/gdiplus/tests/brush.c b/dlls/gdiplus/tests/brush.c index 0942e88..9fd80d2 100644 --- a/dlls/gdiplus/tests/brush.c +++ b/dlls/gdiplus/tests/brush.c @@ -1273,6 +1273,13 @@ START_TEST(brush) { struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
gdiplusStartupInput.GdiplusVersion = 1; gdiplusStartupInput.DebugEventCallback = NULL; diff --git a/dlls/gdiplus/tests/customlinecap.c b/dlls/gdiplus/tests/customlinecap.c index 704f70e..bac80ad 100644 --- a/dlls/gdiplus/tests/customlinecap.c +++ b/dlls/gdiplus/tests/customlinecap.c @@ -315,6 +315,13 @@ START_TEST(customlinecap) { struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
gdiplusStartupInput.GdiplusVersion = 1; gdiplusStartupInput.DebugEventCallback = NULL; diff --git a/dlls/gdiplus/tests/font.c b/dlls/gdiplus/tests/font.c index dd624a4..2cae481 100644 --- a/dlls/gdiplus/tests/font.c +++ b/dlls/gdiplus/tests/font.c @@ -1114,6 +1114,13 @@ START_TEST(font) { struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
gdiplusStartupInput.GdiplusVersion = 1; gdiplusStartupInput.DebugEventCallback = NULL; diff --git a/dlls/gdiplus/tests/graphics.c b/dlls/gdiplus/tests/graphics.c index 529f1a2..4dcfac8 100644 --- a/dlls/gdiplus/tests/graphics.c +++ b/dlls/gdiplus/tests/graphics.c @@ -6154,6 +6154,13 @@ START_TEST(graphics) struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; WNDCLASSA class; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
memset( &class, 0, sizeof(class) ); class.lpszClassName = "gdiplus_test"; diff --git a/dlls/gdiplus/tests/graphicspath.c b/dlls/gdiplus/tests/graphicspath.c index 2a94e84..9a6dde3 100644 --- a/dlls/gdiplus/tests/graphicspath.c +++ b/dlls/gdiplus/tests/graphicspath.c @@ -1329,6 +1329,13 @@ START_TEST(graphicspath) { struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
gdiplusStartupInput.GdiplusVersion = 1; gdiplusStartupInput.DebugEventCallback = NULL; diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c index 0ef72b2..225dc54 100644 --- a/dlls/gdiplus/tests/image.c +++ b/dlls/gdiplus/tests/image.c @@ -4971,6 +4971,13 @@ START_TEST(image) HMODULE mod = GetModuleHandleA("gdiplus.dll"); struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
gdiplusStartupInput.GdiplusVersion = 1; gdiplusStartupInput.DebugEventCallback = NULL; diff --git a/dlls/gdiplus/tests/matrix.c b/dlls/gdiplus/tests/matrix.c index a2e0595..1e4f48d 100644 --- a/dlls/gdiplus/tests/matrix.c +++ b/dlls/gdiplus/tests/matrix.c @@ -343,6 +343,13 @@ START_TEST(matrix) { struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
gdiplusStartupInput.GdiplusVersion = 1; gdiplusStartupInput.DebugEventCallback = NULL; diff --git a/dlls/gdiplus/tests/metafile.c b/dlls/gdiplus/tests/metafile.c index 3b6bced..26716c4 100644 --- a/dlls/gdiplus/tests/metafile.c +++ b/dlls/gdiplus/tests/metafile.c @@ -2745,6 +2745,13 @@ START_TEST(metafile) ULONG_PTR gdiplusToken; int myARGC; char **myARGV; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
gdiplusStartupInput.GdiplusVersion = 1; gdiplusStartupInput.DebugEventCallback = NULL; diff --git a/dlls/gdiplus/tests/pathiterator.c b/dlls/gdiplus/tests/pathiterator.c index e606be3..3f6292c 100644 --- a/dlls/gdiplus/tests/pathiterator.c +++ b/dlls/gdiplus/tests/pathiterator.c @@ -559,6 +559,13 @@ START_TEST(pathiterator) { struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
gdiplusStartupInput.GdiplusVersion = 1; gdiplusStartupInput.DebugEventCallback = NULL; diff --git a/dlls/gdiplus/tests/pen.c b/dlls/gdiplus/tests/pen.c index 19a180b..ded6e64 100644 --- a/dlls/gdiplus/tests/pen.c +++ b/dlls/gdiplus/tests/pen.c @@ -455,6 +455,13 @@ START_TEST(pen) { struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
test_startup();
diff --git a/dlls/gdiplus/tests/region.c b/dlls/gdiplus/tests/region.c index 2bf4470..06c47d9 100644 --- a/dlls/gdiplus/tests/region.c +++ b/dlls/gdiplus/tests/region.c @@ -2262,6 +2262,13 @@ START_TEST(region) { struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
gdiplusStartupInput.GdiplusVersion = 1; gdiplusStartupInput.DebugEventCallback = NULL; diff --git a/dlls/gdiplus/tests/stringformat.c b/dlls/gdiplus/tests/stringformat.c index 0774e1b..71fb860 100644 --- a/dlls/gdiplus/tests/stringformat.c +++ b/dlls/gdiplus/tests/stringformat.c @@ -438,6 +438,13 @@ START_TEST(stringformat) { struct GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; + HMODULE hmsvcrt; + int (CDECL * _controlfp_s)(unsigned int *cur, unsigned int newval, unsigned int mask); + + /* Enable all FP exceptions except _EM_INEXACT, which gdi32 can trigger */ + hmsvcrt = LoadLibraryA("msvcrt"); + _controlfp_s = (void*)GetProcAddress(hmsvcrt, "_controlfp_s"); + if (_controlfp_s) _controlfp_s(0, 0, 0x0008001e);
gdiplusStartupInput.GdiplusVersion = 1; gdiplusStartupInput.DebugEventCallback = NULL;