[compiler-rt] [builtins] Avoid using long double in FreeBSD standalone environment (PR #76175)
Dimitry Andric via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 2 07:39:56 PST 2024
https://github.com/DimitryAndric updated https://github.com/llvm/llvm-project/pull/76175
>From d75acf38713bd4dab7755733adaedd9274438a98 Mon Sep 17 00:00:00 2001
From: Dimitry Andric <dimitry at andric.com>
Date: Thu, 21 Dec 2023 20:26:24 +0100
Subject: [PATCH] [builtins] Avoid using long double in FreeBSD standalone
environment
After 05a4212cc76d a number of long double related declarations are
enabled in `int_types.h`, whenever the CPU architecture and platform
support it. However, this does not work with FreeBSD's standalone
environment, which disallows any use of floating point.
In add98b246290 this was made conditional with `CRT_HAS_FLOATING_POINT`,
so extend the block guarded by that define to include all floating point
related declarations.
---
compiler-rt/lib/builtins/int_types.h | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/compiler-rt/lib/builtins/int_types.h b/compiler-rt/lib/builtins/int_types.h
index 18bf0a7f3bf993..7624c728061518 100644
--- a/compiler-rt/lib/builtins/int_types.h
+++ b/compiler-rt/lib/builtins/int_types.h
@@ -139,7 +139,6 @@ typedef union {
udwords u;
double f;
} double_bits;
-#endif
typedef struct {
#if _YUGA_LITTLE_ENDIAN
@@ -220,7 +219,6 @@ typedef union {
#define CRT_HAS_TF_MODE
#endif
-#if CRT_HAS_FLOATING_POINT
#if __STDC_VERSION__ >= 199901L
typedef float _Complex Fcomplex;
typedef double _Complex Dcomplex;
@@ -270,5 +268,5 @@ typedef struct {
#define COMPLEXTF_IMAGINARY(x) (x).imaginary
#endif
-#endif
+#endif // CRT_HAS_FLOATING_POINT
#endif // INT_TYPES_H
More information about the llvm-commits
mailing list