[M3devel] what to do about file sizes being 32bits?

Tony Hosking hosking at cs.purdue.edu
Thu Jan 7 16:21:25 CET 2010


It will need to be a LONGINT type:  [0L..16_7fffffffffffffffL]


On 7 Jan 2010, at 08:11, hendrik at topoi.pooq.com wrote:

> On Thu, Jan 07, 2010 at 06:59:31AM +0000, Jay K wrote:
>> 
>> File.i3:
>> 
>> 
>>  Status = RECORD
>>    type: Type;
>>    modificationTime: Time.T;
>>    size: CARDINAL (* oops... *)
>>  END;
>> 
>> 
>> What to do?
>> [0.. higher than 7FFFFFFF] doesn't "just work".
>>   higher than 7FFFFFFFF is not legal on 32bit, unless you put "L" on the end,
>>   which presumably has some relationship to turning it into a LONGINT, which
>>   causes users to fail to compile
> 
> In any case, is the proper type for file offsets [0..7fffffffffffffff] 
> or [0..ffffffffffffffff]?  I suspect the latter.  It might take some 
> effort to make that legal in Modula 3.
> 
> -- hendrik

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100107/400b4b56/attachment-0002.html>


More information about the M3devel mailing list