diff options
author | Björn Gustavsson <[email protected]> | 2012-01-04 15:33:23 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2012-01-04 16:14:19 +0100 |
commit | 2b18969e4835a79dc79f69025b77b5111263a924 (patch) | |
tree | 270ae3862ef62c2d61c6acc266ff3894fdc5aae4 | |
parent | eea9dc51efcaceb1379caa288443aebb274ba87b (diff) | |
download | otp-2b18969e4835a79dc79f69025b77b5111263a924.tar.gz otp-2b18969e4835a79dc79f69025b77b5111263a924.tar.bz2 otp-2b18969e4835a79dc79f69025b77b5111263a924.zip |
core_SUITE: Cover the nomatch_shadow warning in v3_kernel
-rw-r--r-- | lib/compiler/test/core_SUITE.erl | 5 | ||||
-rw-r--r-- | lib/compiler/test/core_SUITE_data/nomatch_shadow.core | 28 |
2 files changed, 31 insertions, 2 deletions
diff --git a/lib/compiler/test/core_SUITE.erl b/lib/compiler/test/core_SUITE.erl index 0a52dcdc4a..47d7f1aa51 100644 --- a/lib/compiler/test/core_SUITE.erl +++ b/lib/compiler/test/core_SUITE.erl @@ -23,7 +23,7 @@ init_per_testcase/2,end_per_testcase/2, dehydrated_itracer/1,nested_tries/1, make_effect_seq/1,eval_is_boolean/1, - unsafe_case/1]). + unsafe_case/1,nomatch_shadow/1]). -include_lib("test_server/include/test_server.hrl"). @@ -44,7 +44,7 @@ suite() -> [{ct_hooks,[ts_install_cth]}]. all() -> test_lib:recompile(?MODULE), [dehydrated_itracer,nested_tries,make_effect_seq, - eval_is_boolean,unsafe_case]. + eval_is_boolean,unsafe_case,nomatch_shadow]. groups() -> []. @@ -67,6 +67,7 @@ end_per_group(_GroupName, Config) -> ?comp(make_effect_seq). ?comp(eval_is_boolean). ?comp(unsafe_case). +?comp(nomatch_shadow). try_it(Mod, Conf) -> Src = filename:join(?config(data_dir, Conf), atom_to_list(Mod)), diff --git a/lib/compiler/test/core_SUITE_data/nomatch_shadow.core b/lib/compiler/test/core_SUITE_data/nomatch_shadow.core new file mode 100644 index 0000000000..565d9dc0f3 --- /dev/null +++ b/lib/compiler/test/core_SUITE_data/nomatch_shadow.core @@ -0,0 +1,28 @@ +module 'nomatch_shadow' ['nomatch_shadow'/0] + attributes [] +'nomatch_shadow'/0 = + fun () -> + case <> of + <> when 'true' -> + apply 't'/1 + (42) + ( <> when 'true' -> + ( primop 'match_fail' + ({'function_clause'}) + -| [{'function_name',{'nomatch_shadow',0}}] ) + -| ['compiler_generated'] ) + end +'t'/1 = + fun (_cor0) -> + case _cor0 of + <42> when 'true' -> + 'ok' + <42> when 'true' -> + 'ok' + ( <_cor1> when 'true' -> + ( primop 'match_fail' + ({'function_clause',_cor1}) + -| [{'function_name',{'t',1}}] ) + -| ['compiler_generated'] ) + end +end |