diff options
author | Björn Gustavsson <[email protected]> | 2015-02-23 10:04:35 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-02-23 10:04:35 +0100 |
commit | ae19533a826c211d8ac1c06f59c62c2f3b7a3804 (patch) | |
tree | 161504962e4388f26590441eec65bbfdf7eed794 /lib/compiler/test | |
parent | 79736ff7d2e3916356fddda3a03fed8c9d292bdb (diff) | |
parent | 1899aa487d898078e6e7b1c6b7ea3aa5ea31c7e5 (diff) | |
download | otp-ae19533a826c211d8ac1c06f59c62c2f3b7a3804.tar.gz otp-ae19533a826c211d8ac1c06f59c62c2f3b7a3804.tar.bz2 otp-ae19533a826c211d8ac1c06f59c62c2f3b7a3804.zip |
Merge branch 'bjorn/compiler/beam_jump-share'
* bjorn/compiler/beam_jump-share:
beam_jump: Don't jump into the middle of a 'try'
Diffstat (limited to 'lib/compiler/test')
-rw-r--r-- | lib/compiler/test/trycatch_SUITE.erl | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/compiler/test/trycatch_SUITE.erl b/lib/compiler/test/trycatch_SUITE.erl index 8ab618bb01..80d93fbfa4 100644 --- a/lib/compiler/test/trycatch_SUITE.erl +++ b/lib/compiler/test/trycatch_SUITE.erl @@ -24,7 +24,8 @@ catch_oops/1,after_oops/1,eclectic/1,rethrow/1, nested_of/1,nested_catch/1,nested_after/1, nested_horrid/1,last_call_optimization/1,bool/1, - plain_catch_coverage/1,andalso_orelse/1,get_in_try/1]). + plain_catch_coverage/1,andalso_orelse/1,get_in_try/1, + hockey/1]). -include_lib("test_server/include/test_server.hrl"). @@ -39,7 +40,8 @@ groups() -> [basic,lean_throw,try_of,try_after,catch_oops, after_oops,eclectic,rethrow,nested_of,nested_catch, nested_after,nested_horrid,last_call_optimization, - bool,plain_catch_coverage,andalso_orelse,get_in_try]}]. + bool,plain_catch_coverage,andalso_orelse,get_in_try, + hockey]}]. init_per_suite(Config) -> @@ -943,3 +945,14 @@ get_valid_line([_|T]=Path, Annotations) -> _:not_found -> get_valid_line(T, Annotations) end. + +hockey(_) -> + {'EXIT',{{badmatch,_},[_|_]}} = (catch hockey()), + ok. + +hockey() -> + %% beam_jump used to generate a call into the try block. + %% beam_validator disapproved. + receive _ -> (b = fun() -> ok end) + + hockey, +x after 0 -> ok end, try (a = fun() -> ok end) + hockey, + + y catch _ -> ok end. |