[M3devel] compiler problems on Snow Leopard

Tony Hosking hosking at cs.purdue.edu
Sun Dec 12 21:25:13 CET 2010


That's an alignment problem alright.  Perhaps the alignment information for VAL is wrong?  Or for LONGINT?  Jay, any ideas?

On Dec 12, 2010, at 3:14 PM, Mika Nystrom wrote:

> Hi everyone,
> 
> 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...)
> 
> But now I did hit a real problem.
> 
> "../I386_DARWIN/FSSchemeStubs.m3", line 934: ** INTERNAL CG ERROR *** unaligned store  type=6  s/o/a=32/0/32
> "../I386_DARWIN/FSSchemeStubs.m3", line 981: ** INTERNAL CG ERROR *** unaligned load_indirect  type=6  s/a=32/32
> 
> Here is the code, but it's not likely to be of much help...
> 
> PROCEDURE ToScheme_File_Status(READONLY x : File.Status) : SchemeObject.T RAISES { Scheme.E } =
>  BEGIN
>    VAR res : SchemePair.T:=NIL; BEGIN
>      res := SchemeUtils.Cons(SchemeUtils.Cons(SchemeSymbol.FromText("type"),ToScheme_Atom_T(x.type)),res);
>      res := SchemeUtils.Cons(SchemeUtils.Cons(SchemeSymbol.FromText("modificationTime"),SchemeModula3Types.ToScheme_LONGREAL(x.modificationTime)),res);
>      res := SchemeUtils.Cons(SchemeUtils.Cons(SchemeSymbol.FromText("size"),ToScheme_VAL0LONGINT__VAL16778080LONGINT(x.size)),res);  (* line 934 *)
>      RETURN res
>    END
>  END ToScheme_File_Status;
> 
> 
> ...
> 
> PROCEDURE ToScheme_VAL0LONGINT__VAL16778080LONGINT(READONLY x : [ VAL(0, LONGINT )..VAL(16778080, LONGINT ) ]) : SchemeObject.T RAISES { Scheme.E } =
>  BEGIN
>    RETURN ToScheme_LONGINT(x)  (* line 981 *)
>  END ToScheme_VAL0LONGINT__VAL16778080LONGINT;
> 
> 
> for reference, ToScheme_LONGINT is:
> 
> PROCEDURE ToScheme_LONGINT(READONLY x :  LONGINT ) : SchemeObject.T RAISES { Scheme.E } =
>  BEGIN
>    WITH ref = NEW(REF LONGINT) DO
>      ref^ := x;
>      RETURN SchemeModula3Types.ToScheme_LONGINT(ref)
>    END
>  END ToScheme_LONGINT;
> 
>     Mika




More information about the M3devel mailing list