[Vm-dev] Compiling Cog (merge with eem.87)

Eliot Miranda eliot.miranda at gmail.com
Tue Jun 28 18:06:56 UTC 2011


On Tue, Jun 28, 2011 at 3:32 AM, Igor Stasenko <siguctua at gmail.com> wrote:

>
> /Users/sig/projects/cog/blessed/src/vm/cogit.c:15864: error: lvalue
> required as left operand of assignment
> /Users/sig/projects/cog/blessed/src/vm/cogit.c:15864: error: lvalue
> required as left operand of assignment
>
> here the problematic line:
>
>        case SSConstant:
>                                inst =
> (shouldAnnotateObjectReference((self_in_storeToReg->constant))
>                        ?
> annotateobjRef(gMoveCwR((self_in_storeToReg->constant), reg),
> (self_in_storeToReg->constant))
> >>>                     : /* begin MoveCq:R: */quickConstant =
> (self_in_storeToReg->constant),genoperandoperand(MoveCqR, quickConstant,
> reg));
>                break;
>
>
> seems like code generator producing bad code.
>

Yes.  It needs a pair of parentheses around quickConstant =
(self_in_storeToReg->constant), otherwise its trying to assign an
AbstractInstruction * (genoperandoperand) to a sqInt (quickConstant)

Or maybe i'm not initializing stuff properly (since there are new
> options which may need to be passed?)
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>



-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20110628/797d9e63/attachment.htm


More information about the Vm-dev mailing list