Author: Saleem Abdulrasool
Date: 2026-03-06T11:12:13-08:00
New Revision: 57f1ec6e0a4ec3cd4a485ca1ec85e3efe541933b
URL: https://github.com/llvm/llvm-project/commit/57f1ec6e0a4ec3cd4a485ca1ec85e3efe541933b
DIFF: https://github.com/llvm/llvm-project/commit/57f1ec6e0a4ec3cd4a485ca1ec85e3efe541933b.diff
LOG: builtins: adjust FP80 source management (#183871)
We would previously include the FP80 sources into the Windows build if
we built with the GNU driver rather than the `cl` driver.
Added:
Modified:
compiler-rt/lib/builtins/CMakeLists.txt
Removed:
################################################################################
diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
index f43ef4743ff97..44548c191fbd2 100644
--- a/compiler-rt/lib/builtins/CMakeLists.txt
+++ b/compiler-rt/lib/builtins/CMakeLists.txt
@@ -336,17 +336,18 @@ if (NOT MSVC)
)
endif()
- if (NOT ANDROID)
+ if(NOT ANDROID AND (NOT WIN32 OR MINGW))
set(x86_64_SOURCES
${x86_64_SOURCES}
${x86_80_BIT_SOURCES}
- x86_64/floatdixf.c
- )
- if (NOT WIN32)
+ x86_64/floatdixf.c)
+
+ # TODO(compnerd) floatundixf.S currently implements the SysV calling
+ # convention, this must be ported to the Windows ABI.
+ if(NOT WIN32)
set(x86_64_SOURCES
${x86_64_SOURCES}
- x86_64/floatundixf.S
- )
+ x86_64/floatundixf.S)
endif()
endif()
@@ -380,7 +381,6 @@ if (NOT MSVC)
if (NOT ANDROID)
set(i386_SOURCES
${i386_SOURCES}
- ${x86_80_BIT_SOURCES}
i386/floatdixf.S
i386/floatundixf.S
)
@@ -393,6 +393,12 @@ if (NOT MSVC)
i386/chkstk2.S
)
endif()
+
+ if(NOT ANDROID AND NOT (WIN32 AND NOT MINGW))
+ set(i386_SOURCES
+ ${i386_SOURCES}
+ ${x86_80_BIT_SOURCES})
+ endif()
else () # MSVC
# Use C versions of functions when building on MSVC
# MSVC's assembler takes Intel syntax, not AT&T syntax.