https://git.reactos.org/?p=reactos.git;a=commitdiff;h=03506b90e09caaf44f79d…
commit 03506b90e09caaf44f79d0930cbae1f6df7008fd
Author:     Victor Perevertkin <victor.perevertkin(a)reactos.org>
AuthorDate: Mon Aug 2 00:19:31 2021 +0300
Commit:     Victor Perevertkin <victor.perevertkin(a)reactos.org>
CommitDate: Mon Aug 2 20:23:18 2021 +0300
    [MSVCRTEX] Add some routines required for clang optimizations
    - Include exp2* in all clang builds
    - Include __aulldiv for i386 ones
    Those are required, at least for clang-cl Release configuration
---
 sdk/lib/crt/msvcrtex.cmake | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/sdk/lib/crt/msvcrtex.cmake b/sdk/lib/crt/msvcrtex.cmake
index 756f0036faa..32d1afc6046 100644
--- a/sdk/lib/crt/msvcrtex.cmake
+++ b/sdk/lib/crt/msvcrtex.cmake
@@ -43,19 +43,24 @@ else()
     list(APPEND MSVCRTEX_SOURCE
         startup/pseudo-reloc.c
         startup/pseudo-reloc-list.c)
-    if (CLANG)
-        # CLang performs some optimisations requiring those funtions
-        list(APPEND MSVCRTEX_SOURCE
-            math/exp2.c
-            math/exp2f.c)
-    endif()
+endif()
+
+if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
+    # Clang performs some optimizations requiring those funtions
+    list(APPEND MSVCRTEX_SOURCE
+        math/exp2.c
+        math/exp2f.c
+        )
 endif()
 if(ARCH STREQUAL "i386")
+    # Clang wants __aulldiv for its optimizations
     list(APPEND MSVCRTEX_ASM_SOURCE
         except/i386/chkstk_asm.s
         except/i386/chkstk_ms.s
-        math/i386/alldiv_asm.s)
+        math/i386/alldiv_asm.s
+        math/i386/aulldiv_asm.s
+        )
     if (GCC AND CLANG)
         list(APPEND MSVCRTEX_ASM_SOURCE
             math/i386/ceilf.S