summaryrefslogtreecommitdiff
path: root/tools/mpfrlint
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2019-02-06 09:06:14 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2019-02-06 09:06:14 +0000
commit8f59ed4772bd767d2c8aff6c39c41359290502a5 (patch)
treef6a69817a662f517fbbb8a9c1889e6ce9b33f418 /tools/mpfrlint
parentba1e4ab9777423031355c6e4ed53e2f3795a1dc5 (diff)
downloadmpfr-8f59ed4772bd767d2c8aff6c39c41359290502a5.tar.gz
[doc/README.dev] Improved description of MPFR_ERRDIVZERO.
[tools/mpfrlint] Check that native FP division by zero is not used. (merged changesets r13441-13443 from the trunk) git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/4.0@13447 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tools/mpfrlint')
-rwxr-xr-xtools/mpfrlint9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/mpfrlint b/tools/mpfrlint
index 04fc8a9f2..0a42508a6 100755
--- a/tools/mpfrlint
+++ b/tools/mpfrlint
@@ -336,6 +336,15 @@ err-if-output \
-t "mpfr-impl.h inclusion" grep --exclude=mpfr-test.h \
'^ *# *include *"mpfr-impl.h"' tests/*.{c,h}
+# Division by zero yields issues on some platforms, even in the case where
+# MPFR_ERRDIVZERO is not defined. See, e.g.
+# https://sympa.inria.fr/sympa/arc/mpfr/2019-02/msg00005.html
+# The solution is to still allow tests related to NaN and infinities, but
+# such tests must avoid division by zero.
+grep -E '/ *0?\.0([^0-9]|$)' tests/*.{c,h} | \
+ err-if-output --msg='Division by zero yields issues on some platforms, use MPFR_DBL_* macros.' \
+ -t "division by zero" grep -Ev '/\*.*/ *0?\.0'
+
# Check that the usual test programs call tests_start_mpfr and tests_end_mpfr.
tprg=($(sed -n '/^check_PROGRAMS/,/[^\\]$/ {
s/.*=//