[clang] [compiler-rt] [llvm] [SPARC] Properly handle CC for long double on sparc32 (PR #162226)

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 9 23:05:33 PST 2025


================
@@ -960,9 +960,9 @@ else ()
         list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
       endif()
 
-      # For RISCV32, we must force enable int128 for compiling long
+      # For RISCV32 and 32-bit SPARC, we must force enable int128 for compiling long
       # double routines.
-      if(COMPILER_RT_ENABLE_SOFTWARE_INT128 OR "${arch}" STREQUAL "riscv32")
+      if(COMPILER_RT_ENABLE_SOFTWARE_INT128 OR "${arch}" MATCHES "riscv32|sparc$" AND NOT CMAKE_COMPILER_IS_GNUCC)
----------------
s-barannikov wrote:

I suppose riscv-gcc doesn't support this option either, so this should be ok.
One thing I'm not sure of is the order CMake evaluates OR/AND, so it might require parentheses around the condition (if the order matters at all).


https://github.com/llvm/llvm-project/pull/162226


More information about the llvm-commits mailing list