[CRT][GDI32] Introduce atan2 library, use it for gdi32 to fix a crash. CORE-11521
authorMark Jansen <mark.jansen@reactos.org>
Sat, 23 Jul 2016 20:35:11 +0000 (20:35 +0000)
committerMark Jansen <mark.jansen@reactos.org>
Sat, 23 Jul 2016 20:35:11 +0000 (20:35 +0000)
As suggested by Thomas :)

svn path=/trunk/; revision=71985

reactos/sdk/lib/crt/CMakeLists.txt
reactos/win32ss/gdi/gdi32/CMakeLists.txt
reactos/win32ss/gdi/gdi32/wine/rosglue.c

index d9957b3..6659b0b 100644 (file)
@@ -66,3 +66,19 @@ add_library(strtol
     string/wctype.c)
 add_target_compile_definitions(strtol _LIBCNT_)
 add_dependencies(strtol psdk)
+
+
+if(ARCH STREQUAL "i386")
+    list(APPEND ATAN2_ASM_SOURCE math/i386/atan2_asm.s)
+elseif(ARCH STREQUAL "amd64")
+    list(APPEND ATAN2_ASM_SOURCE math/amd64/atan2.S)
+elseif(ARCH STREQUAL "arm")
+    list(APPEND ATAN2_ASM_SOURCE math/arm/atan2.s)
+endif()
+
+add_asm_files(atan2_asm ${ATAN2_ASM_SOURCE})
+add_library(atan2 ${atan2_asm})
+set_target_properties(atan2 PROPERTIES LINKER_LANGUAGE "C")
+add_dependencies(atan2 asm)
+
+
index 796b50d..527c8f8 100644 (file)
@@ -61,6 +61,7 @@ target_link_libraries(gdi32
     win32ksys
     dxguid
     msvcrtex
+    atan2
     ${PSEH_LIB})
 
 add_importlibs(gdi32 user32 advapi32 kernel32 ntdll)
index 0c2464e..edd1c8d 100644 (file)
@@ -520,23 +520,6 @@ _assert (
     DbgRaiseAssertionFailure();
 }
 
-#if defined(_MSC_VER) && (DBG != 1)
-
-/* MSVC uses its own in this case. */
-#else
-
-double
-__cdecl
-atan2(
-    double y,
-    double x)
-{
-    __debugbreak();
-    return 0.;
-}
-
-#endif
-
 /******************************************************************************/
 
 static