[erlang-bugs] Possible bug when compiling "from_core" in R13A

Bjorn Gustavsson bgustavsson@REDACTED
Fri Apr 3 08:16:12 CEST 2009


2009/4/2 Lars-Åke Fredlund <lfredlund@REDACTED>:
> Hello,
>
> when compiling from Core Erlang the following compiler problem occurs
> (bug.core -- failing module, and bug.txt -- report). Sorry for not supplying
> Erlang code, but the failing Core Erlang fragment is the result of some
> internal transformations. It is of course possible that the module does not
> represent correct Core Erlang code (but at least core_lint:module doesn't
> report any error).

Thanks for the bug report.

Your Core Erlang code does not violate the Core Erlang specification,
as far as I know.

The problem is the nested try/catch blocks in guards. The standard translator
to Core Erlang (v3_core) never produces nested try/catch blocks in guards,
so the beam_bool optimization pass was not expecting the resulting code.

I have corrected beam_bool to detect this situation and back off, i.e.
not attempt to do guard test optimizations on that kind of code. The
correction will
be included in R13B.

/Bjorn
-- 
Björn Gustavsson, Erlang/OTP, Ericsson AB



More information about the erlang-bugs mailing list