From: "James Keenan via RT" <[EMAIL PROTECTED]>
   Date: Sat, 14 Jun 2008 17:13:49 -0700

   Is there any way we could determine whether this is still a bug?  E.g.,
   is there any test we could write for it?

If I try to run the code below (in r28330), I get the following error:

        [EMAIL PROTECTED]> ./parrot label-test.pir 
        error:imcc:undefined identifier 'foo'

                in file 'label-test.pir' line 9
        [EMAIL PROTECTED]> 

There is no "foo" on line 9, BTW; I think it really means line 8.  In
any case, it appears that introducing the label *after* the register
declaration makes IMCC forget about the register.  This register/label
confusion makes it seem likely that the bug in the register allocator
still exists -- it may be that IMCC is confusing the RA.  If so, then
TRT would be to fix IMCC to separate label vs. op/register scope.  And
the easiest fix would be to decide not to support it at all.

                                        -- Bob Rogers
                                           http://rgrjr.dyndns.org/

------------------------------------------------------------------------
.sub main :main
        .local pmc foo
        foo = new 'Integer'
        foo = 42
        if foo goto print

foo:
        print foo

        print "\n"
        goto done
print:  print "there's no foo like an old foo.\n"
done:
.end

Reply via email to