summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2000-04-27 18:18:46 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2000-04-27 18:18:46 +0000
commit214f2c7fba6eaf555da54233689da3a4f1fb9d1f (patch)
treee2de48c04efaac398871b48d7f9497c9d5f48fe7
parentd84636903463cc2c7c724401d8214e94bb80a34c (diff)
downloadperl-214f2c7fba6eaf555da54233689da3a4f1fb9d1f.tar.gz
Unicos tweaks from Mark P. Lutz.
p4raw-id: //depot/cfgperl@5971
-rw-r--r--hints/unicos.sh17
-rw-r--r--lib/Math/Complex.pm5
2 files changed, 14 insertions, 8 deletions
diff --git a/hints/unicos.sh b/hints/unicos.sh
index 5d29754586..43045ff6f9 100644
--- a/hints/unicos.sh
+++ b/hints/unicos.sh
@@ -2,15 +2,15 @@ case `uname -r` in
6.1*) shellflags="-m+65536" ;;
esac
case "$optimize" in
-'') optimize="-h nofastmd" ;; # fastmd: integer values limited to 46 bits
+# if we used fastmd (the default) integer values would be limited to 43 bits
+# --Mark P. Lutz
+'') optimize="-h nofastmd" ;;
esac
-case `uname -r` in
-10.*) pp_ctl_cflags='optimize="$optimize -h scalar 0 -h vector 0"' ;;
-esac
-d_setregid='undef'
-d_setreuid='undef'
+# Avoid an optimizer bug where a volatile variables
+# isn't correctly saved and restored --Mark P. Lutz
+pp_ctl_cflags='ccflags="$ccflags -h scalar0 -h vector0"'
case "$usemymalloc" in
-'') # The perl malloc.c SHOULD work in Unicos (ILP64) says Ilya.
+'') # The perl malloc.c SHOULD work says Ilya.
# But for the time being (5.004_68), alas, it doesn't. --jhi
# usemymalloc='y'
# ccflags="$ccflags -DNO_RCHECK"
@@ -19,3 +19,6 @@ case "$usemymalloc" in
esac
# Configure gets fooled for some reason. There is no getpgid().
d_getpgid='undef'
+# These exist but do not really work.
+d_setregid='undef'
+d_setreuid='undef'
diff --git a/lib/Math/Complex.pm b/lib/Math/Complex.pm
index b13ab77f7a..514935522e 100644
--- a/lib/Math/Complex.pm
+++ b/lib/Math/Complex.pm
@@ -72,7 +72,10 @@ my %DISPLAY_FORMAT = ('style' => 'cartesian',
'polar_pretty_print' => 1);
my $eps = 1e-14; # Epsilon
-my $Inf = CORE::exp(CORE::exp(30));
+my $Inf;
+unless ($^O eq 'unicos') { # Unicos gets a fatal runtime error
+ $Inf = CORE::exp(CORE::exp(30));
+}
$Inf = "Inf" if !defined $Inf || !$Inf > 0;
#