erlang/otp

[erlc] internal error in sub pass ssa_opt_private_append

RobinMorisset opened this issue · 0 comments

Describe the bug
On the following code:

f() ->
    <<<<(((_V1 = _V2) = is_boolean(group_leader())) orelse <<>>)/binary>>/binary>>.

erlc crashes with the following error message:

Sub pass ssa_opt_private_append
/home/rmorisset/minimized/patch_phi.erl: internal error in pass beam_ssa_opt:
exception error: no function clause matching beam_ssa_private_append:patch_literal_term(true,self,15) 
  in function  beam_ssa_private_append:'-patch_phi/3-anonymous-3-'/3 (beam_ssa_private_append.erl, line 545)
  in call from beam_ssa_private_append:patch_phi/3 (beam_ssa_private_append.erl, line 541)
  in call from beam_ssa_private_append:patch_appends_is/5 (beam_ssa_private_append.erl, line 477)
  in call from beam_ssa_private_append:patch_appends_f/5 (beam_ssa_private_append.erl, line 450)
  in call from beam_ssa_private_append:'-patch_appends/3-anonymous-2-'/3 (beam_ssa_private_append.erl, line 419)
  in call from maps:fold_1/4 (maps.erl, line 416)
  in call from beam_ssa_private_append:private_append/3 (beam_ssa_private_append.erl, line 72)

Affected versions
master