[erlang-bugs] Compiler bug in R12B

Bjorn Gustavsson <>
Thu Jan 10 17:45:06 CET 2008


"Simon Cornish" <> writes:

> The R12B compiler (even the latest -1 snapshot) barfs at this simple
> Erlang program - a.erl
> The problem is that match context from the first clause overwrites the
> register holding the binary.
> The fault probably lies in v3_codegen:bsm_rename_ctx/2 or the
> annotation logic in sys_core_fold.

sys_core_fold. My attached patch corrects the problem.

> One thing to note from this is that now {x,1} never contains a match
> context when label 4 is reached.
> I don't know if this is an artefact of my workaround or another bug.

It is an artefact of your workaround (because it targeted v3_codegen
and not sys_core_fold).

> Have fun fixing this.

I had.

Björn Gustavsson, Erlang/OTP, Ericsson AB
-------------- next part --------------
A non-text attachment was scrubbed...
Name: compiler_otp_7094.patch
Type: text/x-patch
Size: 814 bytes
Desc: Fix for validation failure
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20080110/f0382a3f/attachment.bin>

More information about the erlang-bugs mailing list