From: Jarkko Hietaniemi Date: Tue, 29 Feb 2000 01:37:43 +0000 (+0000) Subject: Bigger warning on the changed behaviour of the unary ~. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=34b59bffc0be630c5aecd6e696cf0bdde3c5ab0a;p=p5sagit%2Fp5-mst-13.2.git Bigger warning on the changed behaviour of the unary ~. p4raw-id: //depot/cfgperl@5339 --- diff --git a/pod/perldelta.pod b/pod/perldelta.pod index f1216fe..39ac610 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -199,6 +199,18 @@ always coerced simple scalar arguments to a typeglob, which wasn't useful in situations where the subroutine must distinguish between a simple scalar and a typeglob. See L. +=head2 On 64-bit platforms the semantics of bit operators have changed + +If your platform is either natively 64-bit or your Perl has been +configured to used 64-bit integers (say C and see what is +your ivsize: if it is 8, you are 64-bit) , be warned that the +semantics of all the bitwise numeric operators (& | ^ ~ << >>) have +been changed. They used to be forced to be 32 bits wide, but now in +the aforementioned platforms they are 64 bits wide. Most dramatically +this affects the unary ~: what used to be 32 bits wide, is now 64 bits +wide. If you depend on your integers being 32 bits wide, mask off the +excess bits with C<& 0xffffffff>. + =back =head2 C Source Incompatibilities