From 64bca76f42a82e6a9ea2b0166deab7aa2b7efbea Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Wed, 6 Nov 2019 08:07:40 +0100 Subject: S390: Fp comparison are now raising FE_INVALID with gcc 10. The s390 gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77918 "S390: Floating point comparisons don't raise invalid for unordered operands." is fixed with gcc 10. Thus we conditionally set FIX_COMPARE_INVALID to 0 or 1. --- sysdeps/s390/fpu/fix-fp-int-compare-invalid.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'sysdeps/s390') diff --git a/sysdeps/s390/fpu/fix-fp-int-compare-invalid.h b/sysdeps/s390/fpu/fix-fp-int-compare-invalid.h index dc2450cf83..440b3d0036 100644 --- a/sysdeps/s390/fpu/fix-fp-int-compare-invalid.h +++ b/sysdeps/s390/fpu/fix-fp-int-compare-invalid.h @@ -27,10 +27,12 @@ . There exists an equivalent gcc bugzilla for Intel: . - Once the s390 gcc bug is fixed, the definition of FIX_COMPARE_INVALID - should have a __GNUC_PREREQ conditional added so that e.g. the workaround - to call feraiseexcept (FE_INVALID) in math/s_iseqsig_template.c can be - avoided. */ -#define FIX_COMPARE_INVALID 1 + This s390 gcc bug is fixed with gcc 10, thus we don't need the workaround + to call feraiseexcept (FE_INVALID) in math/s_iseqsig_template.c. */ +#if __GNUC_PREREQ (10, 0) +# define FIX_COMPARE_INVALID 0 +#else +# define FIX_COMPARE_INVALID 1 +#endif #endif /* fix-fp-int-compare-invalid.h */ -- cgit v1.2.3-70-g09d2