aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2019-01-16 12:47:01 +0100
committerBjörn Gustavsson <[email protected]>2019-01-16 12:47:01 +0100
commit5679396952f159eaf1c4f6e0cd48170f72ea24f6 (patch)
tree990f7c67c0daf2349908d202643e476b941e10b7
parentd8a93cc52fe7342e4a79e396192f63ea673b98f4 (diff)
parentc9f5fdb5c92c418f28d67bb62ea8baac296da5ac (diff)
downloadotp-5679396952f159eaf1c4f6e0cd48170f72ea24f6.tar.gz
otp-5679396952f159eaf1c4f6e0cd48170f72ea24f6.tar.bz2
otp-5679396952f159eaf1c4f6e0cd48170f72ea24f6.zip
Merge branch 'bjorn/compiler/beam_type/ERL_829/OTP-15518' into maint
* bjorn/compiler/beam_type/ERL_829/OTP-15518: beam_type: Eliminate compiler crash when arithmetic expression fails
-rw-r--r--lib/compiler/src/beam_type.erl3
-rw-r--r--lib/compiler/test/beam_type_SUITE.erl4
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/compiler/src/beam_type.erl b/lib/compiler/src/beam_type.erl
index b5c979e529..a1e9eff8f3 100644
--- a/lib/compiler/src/beam_type.erl
+++ b/lib/compiler/src/beam_type.erl
@@ -1114,4 +1114,5 @@ verified_type(nonempty_list=T) -> T;
verified_type({tuple,_,Sz,[]}=T) when is_integer(Sz) -> T;
verified_type({tuple,_,Sz,[_]}=T) when is_integer(Sz) -> T;
verified_type({tuple_element,_,_}=T) -> T;
-verified_type(float=T) -> T.
+verified_type(float=T) -> T;
+verified_type(none=T) -> T.
diff --git a/lib/compiler/test/beam_type_SUITE.erl b/lib/compiler/test/beam_type_SUITE.erl
index 061076b3ff..9f691716e3 100644
--- a/lib/compiler/test/beam_type_SUITE.erl
+++ b/lib/compiler/test/beam_type_SUITE.erl
@@ -157,6 +157,10 @@ coverage(Config) ->
[_|_] ->
ok
end,
+
+ %% Cover beam_type:verified_type(none).
+ {'EXIT',{badarith,_}} = (catch (id(2) / id(1)) band 16#ff),
+
ok.
booleans(_Config) ->