On Friday 07 March 2008 02:22:58 François Perrad wrote:

> in r26261 with MinGW32, Lua PMCs seem OK (thank to chromatic).

Several tests fail for me, but it looks like a problem with caller() in Lua, 
so it's probably beyond my expertise.  It looks simpler to fix (if you know 
how the Lua compiler works, hint hint.)

> but WMLScript PMCs don't compile :
> many error like
> .\wmlsinteger.pmc: In function `Parrot_WmlsInteger_subtract_WmlsString':
> .\wmlsinteger.pmc:251: error: void value not ignored as it ought to be
>
> Here, a fragment of wmlsinteger.c :
> PMC*
> Parrot_WmlsInteger_subtract_WmlsString(PARROT_INTERP, PMC *pmc, PMC
> *value, PMC *dest)
> {
> #line 250 ".\\wmlsinteger.pmc"
>
>          PMC * trans = Parrot_WmlsString_nci_parseInt(interp, value);
>          if (trans->vtable->base_type == dynpmc_WmlsInteger) {
>              INTVAL result = VTABLE_get_integer(interp, pmc)
>                            - VTABLE_get_integer(interp, trans);
>              dest = pmc_new(interp, dynpmc_WmlsInteger);
>              VTABLE_set_integer_native(interp, dest, result);
>              return dest;
>          }
>          return pmc_new(interp, dynpmc_WmlsInvalid);
> #line 245 ".\\wmlsinteger.c"
> }
>
> Now, back to wmlsinteger.pmc :
>      PMC* subtract(PMC* value, PMC* dest) {
>          ...
> MMD_WmlsString: {
>              PMC * trans = WmlsString.value.parseInt();
>              ...
>
> So, WmlsString.value.parseInt() seems not correctly managed.

Right.  I can't get that syntax to work anymore.  I can convert it.

> Nota: WMLScript is a bytecode translator, so the test suite needs a
> WMLScript compiler, you could install it with the command :
>       cpan WAP::wmls

I'll take care of it then!

-- c

Reply via email to