[m-dev.] Re: changes to string module
Paul Bone
pbone at csse.unimelb.edu.au
Fri Jan 30 12:41:33 AEDT 2009
On Fri, Jan 30, 2009 at 11:06:44AM +1100, Ralph Becket wrote:
> Julien Fischer, Thursday, 29 January 2009:
> >
> > Hi Ralph,
> >
> > I've had to back out your recent change to the string module (r1.277 of
> > library/string.m) as the compiler no longer bootstraps on 32-bit machines
> > with it. The lexer fails to recognise the hex literals in, for example,
> > compiler/make.util.m:1732 or compiler/elds_to_erlang.m:938.
>
> Hmm. That constants in question are 0xfe3dbe7f and 0xffffffff. To get
> around the overflow check these should be -0x1c24181 and -0x1, but
> that feels rather unnatural. Maybe the overflow check should only apply
> to base 10 numbers?
A 32bit hex signed or unsigned number would only ever overflow if it's
being converted from text if it has more than 8 digits. Perhaps this
can be used to check for overflows (and 16 digits for 64 bit numbers).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mercurylang.org/archives/developers/attachments/20090130/b3fa3c4e/attachment.sig>
More information about the developers
mailing list