This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Under C99 isfinite/isinf/isnan are sizeof-aware macros.
authorJarkko Hietaniemi <jhi@iki.fi>
Wed, 27 Aug 2014 22:36:32 +0000 (18:36 -0400)
committerJarkko Hietaniemi <jhi@iki.fi>
Thu, 28 Aug 2014 11:50:27 +0000 (07:50 -0400)
So let's not test them with inlibc.

Configure
hints/darwin.sh

index 2a4d4d6..fbf239b 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -15445,26 +15445,14 @@ set d_isblank
 eval $setvar
 $rm -f isblank*
 
-: see if isfinite exists
-set isfinite d_isfinite
-eval $inlibc
-
 : see if isfinitel exists
 set isfinitel d_isfinitel
 eval $inlibc
 
-: see if isinf exists
-set isinf d_isinf
-eval $inlibc
-
 : see if isinfl exists
 set isinfl d_isinfl
 eval $inlibc
 
-: see if isnan exists
-set isnan d_isnan
-eval $inlibc
-
 : see if isnanl exists
 set isnanl d_isnanl
 eval $inlibc
@@ -15586,6 +15574,72 @@ $rm_try
 set d_fpclassify
 eval $setvar
 
+: check for isfinite
+echo " "
+echo "Checking to see if you have isfinite..." >&4
+$cat >try.c <<EOCP
+#$i_math I_MATH
+#ifdef I_MATH
+#include <math.h>
+#endif
+int main() { return isfinite(0.0); }
+EOCP
+set try
+if eval $compile; then
+       val="$define"
+       echo "You have isfinite."
+else
+       val="$undef"
+       echo "You do not have isfinite."
+fi
+$rm_try
+set d_isfinite
+eval $setvar
+
+: check for isinf
+echo " "
+echo "Checking to see if you have isinf..." >&4
+$cat >try.c <<EOCP
+#$i_math I_MATH
+#ifdef I_MATH
+#include <math.h>
+#endif
+int main() { return isinf(0.0); }
+EOCP
+set try
+if eval $compile; then
+       val="$define"
+       echo "You have isinf."
+else
+       val="$undef"
+       echo "You do not have isinf."
+fi
+$rm_try
+set d_isinf
+eval $setvar
+
+: check for isnan
+echo " "
+echo "Checking to see if you have isnan..." >&4
+$cat >try.c <<EOCP
+#$i_math I_MATH
+#ifdef I_MATH
+#include <math.h>
+#endif
+int main() { return isnan(0.0); }
+EOCP
+set try
+if eval $compile; then
+       val="$define"
+       echo "You have isnan."
+else
+       val="$undef"
+       echo "You do not have isnan."
+fi
+$rm_try
+set d_isnan
+eval $setvar
+
 : see if link exists
 set link d_link
 eval $inlibc
index 7f555ff..f8e280d 100644 (file)
@@ -30,9 +30,6 @@ case "$osvers" in
 *) d_finite='undef' ;;
 esac
 
-# The Configure checks isfinite as libc symbol, but it is a macro+inline.
-d_isfinite='define'
-
 # This was previously used in all but causes three cases
 # (no -Ddprefix=, -Dprefix=/usr, -Dprefix=/some/thing/else)
 # but that caused too much grief.