If you are running VOS Release 14.4.1 or later, you can obtain a
pre-compiled, supported copy of perl by purchasing Release 2.0.1
-of the VOS GNU C++ and GNU Tools product from Stratus
+(or later) of the VOS GNU C++ and GNU Tools product from Stratus
Technologies.
=head1 BUILDING PERL FOR VOS
To build full perl using the supplied Configure script and
makefiles, change to the "vos" subdirectory and type the command
"compile_full_perl" or "start_process compile_full_perl". This
-will configure, build, and test perl. All of the test cases
-that are executed should pass.
+will configure, build, and test perl.
=head1 INSTALLING PERL IN VOS
extensions or modules distributed with perl, the following
directories can be used to hold such files:
- >system>ported>lib>perl5>5.9.0>68k
- >system>ported>lib>perl5>5.9.0>860
>system>ported>lib>perl5>5.9.0>7100
>system>ported>lib>perl5>5.9.0>8000
Put site-specific architecture-dependent files into one of the
following directories:
- >system>ported>lib>perl5>site_perl>5.9.0>68k
- >system>ported>lib>perl5>site_perl>5.9.0>860
>system>ported>lib>perl5>site_perl>5.9.0>7100
>system>ported>lib>perl5>site_perl>5.9.0>8000
=head1 TEST STATUS
-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
+When Perl 5.9.0 is built using the native build process on VOS
+Release 14.7.0 and GNU C++/GNU Tools 2.0.2a, all but nine
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.
+t/io/dup, test 2
+t/io/tell, test 28
+t/op/pack, test 0
+ext/B/t/bytecode, test 1
+ext/Devel/Peek/t/Peek, test 1
+ext/Encode/t/enc_module, test 1
+ext/IO/t/io_dup, test 2
+lib/ExtUtils/t/MM_Unix, test 94
+lib/Net/ing/t/450_service, test 8
=head1 SUPPORT STATUS
excellent books available on the Perl language; consult a book
seller.
-If you want a supported version of perl for VOS, purchase the VOS
-GNU C++ and GNU Tools Release 2.0.1 product from Stratus
-Technologies, along with a support contract (or from anyone else
-who will sell you support).
+If you want a supported version of perl for VOS, purchase the
+VOS GNU C++ and GNU Tools Release 2.0.1 (or later) product from
+Stratus Technologies, along with a support contract (or from
+anyone else who will sell you support).
=head1 AUTHOR
=head1 LAST UPDATE
-March 26, 2003
+January 15, 2004
=cut
(lval ? HV_FETCH_LVALUE : 0), Nullsv, hash);
}
-HE *
+STATIC HE *
S_hv_fetch_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
int flags, int action, SV *val, register U32 hash)
{
return hv_delete_common(hv, keysv, NULL, 0, 0, flags, hash);
}
-SV *
+STATIC SV *
S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
int k_flags, I32 d_flags, U32 hash)
{
given 10**(NV_MAX_10_EXP+1) == 128 ** x solve for x:
x = (NV_MAX_10_EXP+1) * log (10) / log (128)
And with that many bytes only Inf can overflow.
+ Some C compilers are strict about integral constant
+ expressions so we conservatively divide by a slightly
+ smaller integer instead of multiplying by the exact
+ floating-point value.
*/
#ifdef NV_MAX_10_EXP
- char buf[1 + (int)((NV_MAX_10_EXP + 1) * 0.47456)];
+/* char buf[1 + (int)((NV_MAX_10_EXP + 1) * 0.47456)]; -- invalid C */
+ char buf[1 + (int)((NV_MAX_10_EXP + 1) / 2)]; /* valid C */
#else
- char buf[1 + (int)((308 + 1) * 0.47456)];
+/* char buf[1 + (int)((308 + 1) * 0.47456)]; -- invalid C */
+ char buf[1 + (int)((308 + 1) / 2)]; /* valid C */
#endif
char *in = buf + sizeof(buf);