From: Paul Green Date: Wed, 26 Mar 2003 17:24:38 +0000 (-0500) Subject: [patch] for Stratus VOS X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=46ff39aa3cae6c7727297dc4bbc5eda0da9c5616;p=p5sagit%2Fp5-mst-13.2.git [patch] for Stratus VOS From: "Green, Paul" Message-ID: (plus a small tweak to the test script) p4raw-id: //depot/perl@19070 --- diff --git a/README.vos b/README.vos index 342973a..c758235 100644 --- a/README.vos +++ b/README.vos @@ -105,19 +105,32 @@ port of Perl. =head2 Handling of underflow and overflow -VOS does not support automatically mapping overflowed -floating-point values to +infinity, nor automatically mapping -underflowed floating-point values to -infinity, unlike many -other platforms. The Perl pack function has been modified to -perform such mapping in software on VOS. Performing other -floating-point computations that underflow or overflow will -probably result in SIGFPE. Don't push your luck. +Prior to VOS Release 14.7.0, VOS does not support automatically +mapping overflowed floating-point values to +infinity, nor +automatically mapping underflowed floating-point values to zero, +unlike many other platforms. The Perl pack function has been +modified to perform such mapping in software on VOS. Performing +other floating-point computations that underflow or overflow +will probably result in SIGFPE. Don't push your luck. + +As of VOS Release 14.7.0, the VOS POSIX runtime sets up the +PA-RISC hardware floating-point status register so that the +overflow and underflow exceptions do not trap, but instead +automatically convert the result to infinity or zero, as +appropriate. As of this writing, there are still floating-point +operations that can trap, for example, subtracting two infinite +values. This is recorded as suggestion posix-1022, which is not +yet fixed. =head1 TEST STATUS -When Perl is built using the native build process on VOS Release -14.5.0 and GNU C++/GNU Tools 2.0.1, all attempted tests either -pass or result in TODO (ignored) failures. +When Perl 5.8.1 is built using the native build process on VOS +Release 14.5.0 and GNU C++/GNU Tools 2.0.1, all but five +attempted tests either pass or result in TODO (ignored) +failures. The tests that fail are: + +ext/Time/HiRes/HiRes, tests 8, 11, 20, and 21. +lib/Net/Ping/t/450_service, test 8. =head1 SUPPORT STATUS @@ -137,6 +150,6 @@ Paul Green (Paul.Green@stratus.com) =head1 LAST UPDATE -August 12, 2002 +March 26, 2003 =cut diff --git a/t/op/pack.t b/t/op/pack.t index af54fdc..d3be738 100755 --- a/t/op/pack.t +++ b/t/op/pack.t @@ -184,8 +184,12 @@ sub list_eq ($$) { skip "Couldn't generate infinity - got error '$@'" unless defined $inf and $inf == $inf / 2 and $inf + 1 == $inf; + local our $TODO; + $TODO = "VOS needs a fix for posix-1022 to pass this test." + if ($^O eq 'vos'); + eval { $x = pack 'w', $inf }; - like ($@, qr/^Cannot compress integer/); + like ($@, qr/^Cannot compress integer/, "Cannot compress integer"); } SKIP: {