I am getting a seg fault when doing a very simple subroutine call with
IMCC:

    .sub _main
            newsub $P4, .Sub, _two_of
            $P6 = new PerlHash
            .pcc_begin prototyped
            .arg $P6
            .arg 14
            .pcc_call $P4
    after:
            .pcc_end
            end
    .end

    .pcc_sub _two_of non_prototyped
            .param PerlHash Sunknown_named3
            .param int mode
            .pcc_begin_return
            .pcc_end_return
    .end

The problem is that IMCC is checking to see whether the 1st argument
is of the correct type (PerlHash), but it looks for the argument in
P3[0], when in fact it isn't an overflow arg and so is in P5. P3, in
fact, is null and so parrot seg faults.

Oddly, if I take away the int parameter (and corresponding argument),
it does not crash. But this also seems to remove the typecheck
entirely.

Reply via email to