[compiler-rt] [builtins] Avoid using long double in FreeBSD standalone environment (PR #76175)

Dimitry Andric via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 22 07:58:57 PST 2023


================
@@ -156,7 +156,9 @@ typedef struct {
 // still makes it 80 bits. Clang will match whatever compiler it is trying to
 // be compatible with. On 32-bit x86 Android, long double is 64 bits, while on
 // x86_64 Android, long double is 128 bits.
-#if (defined(__i386__) || defined(__x86_64__)) &&                              \
+#if !CRT_HAS_FLOATING_POINT
----------------
DimitryAndric wrote:

As far as I can see, all the types that are defined (in the original `int_types.h`) from line 124 onward, so after the `#endif // CRT_HAS_128BIT` block, are specifically meant for floating point support in some form or other. I wouldn't want to break any other uses though, there are a whole bunch of powerpc64 and 128-bit defines in between, and not all of them fall under `CRT_HAS_FLOATING_POINT`. I will just move only the really required stuff to the top.


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


More information about the llvm-commits mailing list