aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/test/match_SUITE.erl
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2016-07-14 11:22:31 +0200
committerErlang/OTP <[email protected]>2016-07-14 11:22:31 +0200
commite84614bb7454087cf5c249a470d2dc47b05f6d28 (patch)
tree8ec9fbe3ef7c952718b0aae4c34f2c171cc5614b /lib/compiler/test/match_SUITE.erl
parentc7d729da231c40a656725f2e9bb84c40a6bddc7d (diff)
parent8fa0a2d96e3d5c89f68b8724a125e11fe04e993d (diff)
downloadotp-e84614bb7454087cf5c249a470d2dc47b05f6d28.tar.gz
otp-e84614bb7454087cf5c249a470d2dc47b05f6d28.tar.bz2
otp-e84614bb7454087cf5c249a470d2dc47b05f6d28.zip
Merge branch 'egil/compiler/fix-literal-binary-match/ERL-190/OTP-13738' into maint-19
* egil/compiler/fix-literal-binary-match/ERL-190/OTP-13738: Update primary bootstrap Revert "beam_dead: Improve optimization of literal binary matching" compiler: Test literal binary matching
Diffstat (limited to 'lib/compiler/test/match_SUITE.erl')
-rw-r--r--lib/compiler/test/match_SUITE.erl13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/compiler/test/match_SUITE.erl b/lib/compiler/test/match_SUITE.erl
index 31402ac717..127679ba69 100644
--- a/lib/compiler/test/match_SUITE.erl
+++ b/lib/compiler/test/match_SUITE.erl
@@ -24,7 +24,7 @@
pmatch/1,mixed/1,aliases/1,non_matching_aliases/1,
match_in_call/1,untuplify/1,shortcut_boolean/1,letify_guard/1,
selectify/1,underscore/1,match_map/1,map_vars_used/1,
- coverage/1,grab_bag/1]).
+ coverage/1,grab_bag/1,literal_binary/1]).
-include_lib("common_test/include/ct.hrl").
@@ -40,7 +40,7 @@ groups() ->
match_in_call,untuplify,
shortcut_boolean,letify_guard,selectify,
underscore,match_map,map_vars_used,coverage,
- grab_bag]}].
+ grab_bag,literal_binary]}].
init_per_suite(Config) ->
@@ -574,6 +574,15 @@ grab_bag_remove_failure([{stretch,_,Mi}=Stretch | Specs], Unit, _MaxFailure) ->
ok
end.
+%% Regression in 19.0, reported by Alexei Sholik
+literal_binary(_Config) ->
+ 3 = literal_binary_match(bar,<<"y">>),
+ ok.
+
+literal_binary_match(bar, <<"x">>) -> 1;
+literal_binary_match(_, <<"x">>) -> 2;
+literal_binary_match(_, <<"y">>) -> 3;
+literal_binary_match(_, _) -> fail.
id(I) -> I.