8000 [erlc] Consistency check failure related to -0.0/+0.0: "bad_arg_type" · Issue #7901 · erlang/otp · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
[erlc] Consistency check failure related to -0.0/+0.0: "bad_arg_type" #7901
Closed
@RobinMorisset

Description

@RobinMorisset

Describe the bug
Running erlc on the following code:

-export([start/0]).

f1()  -> 
	f6(catch (true = ok), -0.0).

f3()  -> 
	f6(ok, 0.0).

f6(_, _)  -> 
	ok.

start()  -> 
	f1(),
	f3(),
	f6(ok, ok).

Results in the following error:

test745_mini:1: function f1/0+12:
  Internal consistency check failed - please report this bug.
  Instruction: {call_last,2,{f,8},1}
  Error:       {bad_arg_type,{x,1},
                             {t_float,{-0.0,-0.0}},
                             {t_union,{t_atom,[ok]},
                                      none,
                                      {t_float,{0.0,0.0}},
                                      none,none}}:

Affected versions
master

Additional context
It looks possibly related to #7168 and the OTP 27 change that will make +0.0 =:= -0.0 return false.

Metadata

Metadata

Assignees

Labels

bugIssue is reported as a bugteam:VMAssigned to OTP team VM

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0