diff options
author | Sverker Eriksson <[email protected]> | 2016-05-30 17:20:54 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-05-30 17:21:50 +0200 |
commit | d319179eee6a523812c81c7ca49afb670de0b277 (patch) | |
tree | d8baec1897320ca8ce3d58b51915613f552b6328 /erts/emulator | |
parent | bf46ff0561ee64cc99f30da30a52ca5268af134e (diff) | |
download | otp-d319179eee6a523812c81c7ca49afb670de0b277.tar.gz otp-d319179eee6a523812c81c7ca49afb670de0b277.tar.bz2 otp-d319179eee6a523812c81c7ca49afb670de0b277.zip |
Reintroduce erlang:halt/0/1 in erl_bif_types.erl
Removed in f9cb80861f169743 when changed impl from C to Erlang.
But seems they are needed to keep dialyzer tests happy.
Also improved bif_SUITE:shadow_comments to include all exported
in module erlang, not just the "snifs".
...which detected that apply/2 was missing Shadowed comment as well.
Diffstat (limited to 'erts/emulator')
-rw-r--r-- | erts/emulator/test/bif_SUITE.erl | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/erts/emulator/test/bif_SUITE.erl b/erts/emulator/test/bif_SUITE.erl index ec6cb6ab72..d31399e4af 100644 --- a/erts/emulator/test/bif_SUITE.erl +++ b/erts/emulator/test/bif_SUITE.erl @@ -141,9 +141,11 @@ guard_bifs_in_erl_bif_types(_Config) -> shadow_comments(_Config) -> ensure_erl_bif_types_compiled(), + ErlangList = [{erlang,F,A} || {F,A} <- erlang:module_info(exports), + not is_operator(F,A)], List0 = erlang:system_info(snifs), - List1 = [MFA || {M,_,_}=MFA <- List0, M =/= hipe_bifs], - List = [MFA || MFA <- List1, not is_operator(MFA)], + List1 = [MFA || {M,_,_}=MFA <- List0, M =/= hipe_bifs, M =/= erlang], + List = List1 ++ ErlangList, HasTypes = [MFA || {M,F,A}=MFA <- List, erl_bif_types:is_known(M, F, A)], Path = get_code_path(), @@ -253,12 +255,15 @@ specs(_) -> end. is_operator({erlang,F,A}) -> + is_operator(F,A); +is_operator(_) -> false. + +is_operator(F,A) -> erl_internal:arith_op(F, A) orelse erl_internal:bool_op(F, A) orelse erl_internal:comp_op(F, A) orelse erl_internal:list_op(F, A) orelse - erl_internal:send_op(F, A); -is_operator(_) -> false. + erl_internal:send_op(F, A). extract_specs(M, Abstr) -> [{make_mfa(M, Name),Spec} || {attribute,_,spec,{Name,Spec}} <- Abstr]. |