diff options
-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 df8906acb4..fcbcf69053 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 |