If it's straightforward, could we get imcc to emit a warning if a symbol
is used before being set? I've been chasing down a problem where this
turning out to be the problem. I know imcc code isn't intended to be
hand-crafted, and will ultimately be computer generated, but in the long
run it may well help catch many obscure problems...
[I had a nice example to demonstrate how easily this could happen, but
the latest version of parrot seems to be allocating registers differently]
> If it's straightforward, could we get imcc to emit a warning if a symbol
> is used before being set?
Please read imcc/cfg.c:690 ff
The problem is probably that the code doesn't consider incoming
arguments in function calls.
Darn, I skimmed many of the files in imcc/, but missed that one. I'll
probably close the call as it's certainly been looked at in the past.
The routine seems to have bitrotted a bit as 'function' no longer
exists, and hacking it can segfault.
As ever, thanks,