summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorTAKAI Kousuke <62541129+t-a-k@users.noreply.github.com>2020-12-23 03:56:12 +0900
committerKarl Williamson <khw@cpan.org>2020-12-29 06:22:35 -0700
commita236dd374ef115db25a1a2fe46f55c62e38898a2 (patch)
treea47a24c97d7e017c7bdbb612836fb62d95f52f88 /sv.c
parentce122704aea566d341329194a0eab92bf3d9deca (diff)
downloadperl-a236dd374ef115db25a1a2fe46f55c62e38898a2.tar.gz
sv.c: Suppress imprecision warnings on Inf.
This commit will partially revert the effect of the commit c33ee94ba2086d48e3750cfdeb51402b61bb1ac7. [GH #18388]
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sv.c b/sv.c
index 3942b54d6a..dc85b830e9 100644
--- a/sv.c
+++ b/sv.c
@@ -8952,9 +8952,11 @@ Perl_sv_inc_nomg(pTHX_ SV *const sv)
if (NV_OVERFLOWS_INTEGERS_AT != 0.0 &&
/* If NVX was NaN, the following comparisons return always false */
UNLIKELY(was >= NV_OVERFLOWS_INTEGERS_AT ||
- was < -NV_OVERFLOWS_INTEGERS_AT)
+ was < -NV_OVERFLOWS_INTEGERS_AT) &&
#if defined(NAN_COMPARE_BROKEN) && defined(Perl_isnan)
- && LIKELY(!Perl_isnan(was))
+ LIKELY(!Perl_isinfnan(was))
+#else
+ LIKELY(!Perl_isinf(was))
#endif
) {
/* diag_listed_as: Lost precision when %s %f by 1 */
@@ -9136,9 +9138,11 @@ Perl_sv_dec_nomg(pTHX_ SV *const sv)
if (NV_OVERFLOWS_INTEGERS_AT != 0.0 &&
/* If NVX was NaN, these comparisons return always false */
UNLIKELY(was <= -NV_OVERFLOWS_INTEGERS_AT ||
- was > NV_OVERFLOWS_INTEGERS_AT)
+ was > NV_OVERFLOWS_INTEGERS_AT) &&
#if defined(NAN_COMPARE_BROKEN) && defined(Perl_isnan)
- && LIKELY(!Perl_isnan(was)))
+ LIKELY(!Perl_isinfnan(was)))
+#else
+ LIKELY(!Perl_isinf(was))
#endif
) {
/* diag_listed_as: Lost precision when %s %f by 1 */