Leo, thanks for the answer.

It confirms my initial understanding of the alocation. But the line of my original message was more like "IF there is a bug, this code will not uncover it, even though it is supposed to".

On to finding where @ARGV is found at interpreter start time; and how to set an exit code.

Thanks,
Flaviu


Leopold Toetsch wrote:


Flaviu Turean/P6 <[EMAIL PROTECTED]> wrote:

Hello!


[ t/syn/clash_4.imc ]


1. $I0 (PIR) is set to `defined $P1`;
2. I0 (parrot) is set to `defined P1`. If there is a bug in lifetime
analysis, in step 1 above $P1 may mapped to P1. Similarly, $I0 may be
mapped to I0;


No, $I0 gets mapped to I1.


3. If above-mentioned exists, the two print statements are correct,
even if the generated code is incorrect.


I don't see wrong code.


Eyebrow raised since file name is 'clash.t', so


The tests are WRT name/id clashes e.g. parrots new vs imccs new.

        # i.imc
        $I0 = 0
        $I1 = 1
        I0 = 0
        I1 = 1
        print $I0
        print $I1
        print I0
        print I1
        print "\n"
        end

$ imcc -o i.pasm i.imc
$ cat i.pasm
        set I3, 0
        set I2, 1
        set I0, 0
        ...


Flaviu


leo



Reply via email to