================
@@ -1009,9 +1009,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}" STREQUAL "riscv32" OR 
("${arch}" STREQUAL "sparc" AND NOT CMAKE_COMPILER_IS_GNUCC))
----------------
rorth wrote:

> > When compiled with gcc, how is the library supposed to link if int128 
> > routines are not compiled in?
> 
> I suppose in that case the library will lack `long double` routines? @rorth 
> probably know better about this.

I've no idea right now (have tried to forget all of this ;-).  Besides, I'm so 
busy with the upcoming GCC 16 release that I've no time left for LLVM.

What I've done in the past is do build with both `clang` and `gcc` as build 
compiler, 2-stage builds with `clang`, 1-stage ones with `gcc`.  And note that 
the `compiler-rt` tests still aren't run in runtime builds (which is the 
default these days), not even a target to do so manually, so I've always used
```
 -DLLVM_ENABLE_PROJECTS=compiler-rt
```
 to avoid that.

https://github.com/llvm/llvm-project/pull/162226
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to