Unicos tweaks from Mark P. Lutz.
Jarkko Hietaniemi [Thu, 27 Apr 2000 18:18:46 +0000 (18:18 +0000)]
p4raw-id: //depot/cfgperl@5971

hints/unicos.sh
lib/Math/Complex.pm

index 5d29754..43045ff 100644 (file)
@@ -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'
index b13ab77..5149355 100644 (file)
@@ -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;
 
 #