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