Will Coleda (via RT) wrote:
This doesn't:
.sub zero_check
push_eh one
$N1 = 3 / 0.0
<snip>
Guessing that imcc is doing constant folding without the guards that
the ops use.
Aye, and the trouble is, I think, that we don't actually have ops that
only take two constants; if I remember correctly, they were tossed in
favor of the folding inside IMCC.
I suspect you need to detect conditions like this and either emit
something more like:
$N99999 = 3.0
$N1 = $N99999 / 0
Since we do have ops like this. Less ugly solutions preferred (still a
tiny bit lagged from my travels).
Jonathan