[M3devel] Utypes.asLong / Utypes.assignOffT
Tony Hosking
hosking at cs.purdue.edu
Mon Jan 28 18:04:46 CET 2008
You will need to use VAL as I noted to handle the fact that off_t is
LONGINT on some targets and INTEGER on others.
On Jan 28, 2008, at 11:35 AM, Neels Janosch Hofmeyr wrote:
> Apparently, the answer to this is trivial. I found the missing
> functions in a CVS diff:
>
> -PROCEDURE asLong (val: off_t): long =
> - BEGIN
> - RETURN val;
> - END asLong;
> -
> -PROCEDURE assignOffT (VAR dest: off_t; src: long) =
> - BEGIN
> - dest := src;
> - END assignOffT;
>
> So, just replacing all occurences of these functions with direct
> assignments compiles without problems.
> y := Utypes.asLong(x) ==becomes==> y := ORD(x);
> x := Utypes.assignOffT(y) ==becomes==> x := y;
>
> Obviously, CVSup needs to be updated so that it compiles with the
> most recent CM3! The suplib still uses the obsoleted procedures
> asLong and assignOffT. Shall I write a mail to Mr. Polstra?
>
> Neels
>
> Neels Janosch Hofmeyr wrote:
>> Hi,
>>
>> after some problems have been resolved, I still cannot figure out
>> these errors:
>>
>> ===> suplib
>> --- building in LINUXLIBC6 ---
>>
>> new source -> compiling StatBufOffT64.m3
>> "../src/StatBufOffT64.m3", line 40: unknown qualification
>> '.' (asLong)
>> "../src/StatBufOffT64.m3", line 45: unknown qualification
>> '.' (assignOffT)
>>
>> They are trying to access the procedures
>> Utypes.asLong
>> Utypes.assignOffT
>>
>> Apparently, Utypes.asLong(..) can simply be replaced by ORD(..).
>> Is this correct??
>>
>> Concerning assignOffT, the commit log speaks of a function called
>> PROCEDURE expandAssign(VAR dest: off_t; src: long)
>> , but this function does not exist anywhere in the cm3 source tree
>> (grep -r expandAssign yielded no results).
>>
>>
>> How do I fix this line in suplib/src/StatBufOffT64.m3 (ll.43-46)?
>>
>> PROCEDURE SetStatSize(VAR st: struct_stat; size: CARDINAL) =
>> BEGIN
>> Utypes.assignOffT(st.st_size, size);
>> END SetStatSize;
>>
>> "../src/StatBufOffT64.m3", line 45: unknown qualification
>> '.' (assignOffT)
>>
>>
>> Thanks
>>
>
> --
> Neels Janosch Hofmeyr
> Software Developer
>
> neels at elego.de
> Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc
>
> elego Software Solutions GmbH http://www.elegosoft.com
> Gustav-Meyer-Allee 25, Gebäude 12 HRB 77719
> 13355 Berlin, Germany Amtsgericht Charlottenburg
> Tel.: +49 30 23 45 86 96 Sitz der Gesellschaft: Berlin
> Fax: +49 30 23 45 86 95 Geschäftsführer: Olaf Wagner
>
>
More information about the M3devel
mailing list