[M3devel] compiler problems on Snow Leopard

Mika Nystrom mika at async.caltech.edu
Sun Dec 12 21:49:02 CET 2010


Tony,

It's been a long, long time since I last compiled anything on I386_DARWIN, so I'm not sure.

It did/does work on AMD64_LINUX and _FREEBSD, as far as I know.

    Mika

Tony Hosking writes:
>Mika,
>
>Did this LONGINT code work previously?  I'm trying to figure out when =
>the problem was introduced.
>
>Antony Hosking | Associate Professor | Computer Science | Purdue =
>University
>305 N. University Street | West Lafayette | IN 47907 | USA
>Office +1 765 494 6001 | Mobile +1 765 427 5484
>
>
>
>
>On Dec 12, 2010, at 3:14 PM, Mika Nystrom wrote:
>
>> Hi everyone,
>>=20
>> Well I was able to get past all my linking issues (mostly questions
>> of dynamic vs. static linking and how to do it, which seems to change =
>from
>> version to version...)
>>=20
>> But now I did hit a real problem.
>>=20
>> "../I386_DARWIN/FSSchemeStubs.m3", line 934: ** INTERNAL CG ERROR *** =
>unaligned store  type=3D6  s/o/a=3D32/0/32
>> "../I386_DARWIN/FSSchemeStubs.m3", line 981: ** INTERNAL CG ERROR *** =
>unaligned load_indirect  type=3D6  s/a=3D32/32
>>=20
>> Here is the code, but it's not likely to be of much help...
>>=20
>> PROCEDURE ToScheme_File_Status(READONLY x : File.Status) : =
>SchemeObject.T RAISES { Scheme.E } =3D
>>  BEGIN
>>    VAR res : SchemePair.T:=3DNIL; BEGIN
>>      res :=3D =
>SchemeUtils.Cons(SchemeUtils.Cons(SchemeSymbol.FromText("type"),ToScheme_A=
>tom_T(x.type)),res);
>>      res :=3D =
>SchemeUtils.Cons(SchemeUtils.Cons(SchemeSymbol.FromText("modificationTime"=
>),SchemeModula3Types.ToScheme_LONGREAL(x.modificationTime)),res);
>>      res :=3D =
>SchemeUtils.Cons(SchemeUtils.Cons(SchemeSymbol.FromText("size"),ToScheme_V=
>AL0LONGINT__VAL16778080LONGINT(x.size)),res);  (* line 934 *)
>>      RETURN res
>>    END
>>  END ToScheme_File_Status;
>>=20
>>=20
>> ...
>>=20
>> PROCEDURE ToScheme_VAL0LONGINT__VAL16778080LONGINT(READONLY x : [ =
>VAL(0, LONGINT )..VAL(16778080, LONGINT ) ]) : SchemeObject.T RAISES { =
>Scheme.E } =3D
>>  BEGIN
>>    RETURN ToScheme_LONGINT(x)  (* line 981 *)
>>  END ToScheme_VAL0LONGINT__VAL16778080LONGINT;
>>=20
>>=20
>> for reference, ToScheme_LONGINT is:
>>=20
>> PROCEDURE ToScheme_LONGINT(READONLY x :  LONGINT ) : SchemeObject.T =
>RAISES { Scheme.E } =3D
>>  BEGIN
>>    WITH ref =3D NEW(REF LONGINT) DO
>>      ref^ :=3D x;
>>      RETURN SchemeModula3Types.ToScheme_LONGINT(ref)
>>    END
>>  END ToScheme_LONGINT;
>>=20
>>     Mika



More information about the M3devel mailing list