Skip to content

Commit 2cbd493

Browse files
author
git apple-llvm automerger
committed
Merge commit '19026a48df57' from llvm.org/release/19.x into stable/20240723
2 parents 6454404 + 19026a4 commit 2cbd493

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

compiler-rt/lib/builtins/int_math.h

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,12 @@
6565
#define crt_copysign(x, y) __builtin_copysign((x), (y))
6666
#define crt_copysignf(x, y) __builtin_copysignf((x), (y))
6767
#define crt_copysignl(x, y) __builtin_copysignl((x), (y))
68-
#if __has_builtin(__builtin_copysignf128)
68+
// We define __has_builtin to always return 0 for GCC versions below 10,
69+
// but __builtin_copysignf128 is available since version 7.
70+
#if __has_builtin(__builtin_copysignf128) || \
71+
(defined(__GNUC__) && __GNUC__ >= 7)
6972
#define crt_copysignf128(x, y) __builtin_copysignf128((x), (y))
70-
#elif __has_builtin(__builtin_copysignq) || (defined(__GNUC__) && __GNUC__ >= 7)
73+
#elif __has_builtin(__builtin_copysignq)
7174
#define crt_copysignf128(x, y) __builtin_copysignq((x), (y))
7275
#endif
7376
#endif
@@ -80,9 +83,11 @@
8083
#define crt_fabs(x) __builtin_fabs((x))
8184
#define crt_fabsf(x) __builtin_fabsf((x))
8285
#define crt_fabsl(x) __builtin_fabsl((x))
83-
#if __has_builtin(__builtin_fabsf128)
86+
// We define __has_builtin to always return 0 for GCC versions below 10,
87+
// but __builtin_fabsf128 is available since version 7.
88+
#if __has_builtin(__builtin_fabsf128) || (defined(__GNUC__) && __GNUC__ >= 7)
8489
#define crt_fabsf128(x) __builtin_fabsf128((x))
85-
#elif __has_builtin(__builtin_fabsq) || (defined(__GNUC__) && __GNUC__ >= 7)
90+
#elif __has_builtin(__builtin_fabsq)
8691
#define crt_fabsf128(x) __builtin_fabsq((x))
8792
#endif
8893
#endif

0 commit comments

Comments
 (0)