[glibc/azanella/clang] x86: math: Avoid the use of __libgcc_cmp_return__ for __gcc_CMPtype

Adhemerval Zanella azanella@sourceware.org
Wed Apr 17 20:07:37 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=01f529206cf8cd2ad8c49cc5ba7c80c5a839ef61

commit 01f529206cf8cd2ad8c49cc5ba7c80c5a839ef61
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Thu Mar 10 14:41:31 2022 -0300

    x86: math: Avoid the use of __libgcc_cmp_return__ for __gcc_CMPtype

Diff:
---
 sysdeps/x86/fpu/sfp-machine.h | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/sysdeps/x86/fpu/sfp-machine.h b/sysdeps/x86/fpu/sfp-machine.h
index bc3fe332df..89a73642b1 100644
--- a/sysdeps/x86/fpu/sfp-machine.h
+++ b/sysdeps/x86/fpu/sfp-machine.h
@@ -1,10 +1,19 @@
 /* Configure soft-fp for building sqrtf128.  Based on sfp-machine.h in
    libgcc, with soft-float and other irrelevant parts removed.  */
 
+#if defined __x86_64__ && defined __ILP32__
+typedef long long int __gcc_CMPtype;
+#else
+typedef long int __gcc_CMPtype;
+#endif
+#if !defined(__clang__) && defined(__GNUC__)
 /* The type of the result of a floating point comparison.  This must
    match `__libgcc_cmp_return__' in GCC for the target.  */
-typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__)));
-#define CMPtype __gcc_CMPtype
+typedef int __gcc_CMPtype_GCC __attribute__ ((mode (__libgcc_cmp_return__)));
+# define CMPtype __gcc_CMPtype
+_Static_assert(sizeof(__gcc_CMPtype) == sizeof(__gcc_CMPtype_GCC),
+	       "sizeof(__gcc_CMPtype) != sizeof(__gcc_CMPtype_GCC)");
+#endif
 
 #ifdef __x86_64__
 # define _FP_W_TYPE_SIZE	64


More information about the Glibc-cvs mailing list