diff options
author | Björn Gustavsson <[email protected]> | 2019-01-16 12:47:01 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2019-01-16 12:47:01 +0100 |
commit | 5679396952f159eaf1c4f6e0cd48170f72ea24f6 (patch) | |
tree | 990f7c67c0daf2349908d202643e476b941e10b7 | |
parent | d8a93cc52fe7342e4a79e396192f63ea673b98f4 (diff) | |
parent | c9f5fdb5c92c418f28d67bb62ea8baac296da5ac (diff) | |
download | otp-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.erl | 3 | ||||
-rw-r--r-- | lib/compiler/test/beam_type_SUITE.erl | 4 |
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) -> |