From: Stefan Liebler Date: Wed, 6 Nov 2019 07:07:40 +0000 (+0100) Subject: S390: Fp comparison are now raising FE_INVALID with gcc 10. X-Git-Tag: glibc-2.31~289 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=64bca76f42a82e6a9ea2b0166deab7aa2b7efbea;p=thirdparty%2Fglibc.git 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. --- diff --git a/sysdeps/s390/fpu/fix-fp-int-compare-invalid.h b/sysdeps/s390/fpu/fix-fp-int-compare-invalid.h index dc2450cf831..440b3d00363 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 */