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