diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2022-03-10 14:41:31 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-04-17 16:12:40 -0300 |
commit | 01f529206cf8cd2ad8c49cc5ba7c80c5a839ef61 (patch) | |
tree | 9afa83ed7e6cef150c5e09f0d9ef61cfca6ba8e1 | |
parent | cabd218e41d765204a9912589ee732b5b90a66e0 (diff) | |
download | glibc-01f529206cf8cd2ad8c49cc5ba7c80c5a839ef61.tar.gz glibc-01f529206cf8cd2ad8c49cc5ba7c80c5a839ef61.tar.xz glibc-01f529206cf8cd2ad8c49cc5ba7c80c5a839ef61.zip |
x86: math: Avoid the use of __libgcc_cmp_return__ for __gcc_CMPtype
-rw-r--r-- | sysdeps/x86/fpu/sfp-machine.h | 13 |
1 files 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 |