aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/test
diff options
context:
space:
mode:
authorJohn Högberg <[email protected]>2019-07-11 09:28:53 +0200
committerJohn Högberg <[email protected]>2019-07-11 09:28:53 +0200
commitd2c096de3c677c20d4a149bec6a9346aea9ccf4d (patch)
treed1071459a3ba9c47436820f47e821db4ced04377 /lib/compiler/test
parent4e9792256a754ff10f6a214f582fbb58e081deb2 (diff)
parent9ca0e82455297040069b8274649e7ddd28a5d65b (diff)
downloadotp-d2c096de3c677c20d4a149bec6a9346aea9ccf4d.tar.gz
otp-d2c096de3c677c20d4a149bec6a9346aea9ccf4d.tar.bz2
otp-d2c096de3c677c20d4a149bec6a9346aea9ccf4d.zip
Merge branch 'john/compiler/fix-bad-try_catch-recv-fix/OTP-15953/ERL-999' into maint
* john/compiler/fix-bad-try_catch-recv-fix/OTP-15953/ERL-999: compiler: Fix compiler crash introduced by OTP-15952
Diffstat (limited to 'lib/compiler/test')
-rw-r--r--lib/compiler/test/beam_ssa_SUITE.erl15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/compiler/test/beam_ssa_SUITE.erl b/lib/compiler/test/beam_ssa_SUITE.erl
index 256bb95559..dd1b7ddcd3 100644
--- a/lib/compiler/test/beam_ssa_SUITE.erl
+++ b/lib/compiler/test/beam_ssa_SUITE.erl
@@ -196,6 +196,9 @@ recv(_Config) ->
self() ! 2,
b = tricky_recv_5(),
+ %% tricky_recv_6/0 is a compile-time error.
+ tricky_recv_6(),
+
ok.
sync_wait_mon({Pid, Ref}, Timeout) ->
@@ -321,6 +324,18 @@ tricky_recv_5() ->
_:_ -> c
end.
+%% When fixing tricky_recv_5, we introduced a compiler crash when the common
+%% exit block was ?BADARG_BLOCK and floats were in the picture.
+tricky_recv_6() ->
+ RefA = make_ref(),
+ RefB = make_ref(),
+ receive
+ {RefA, Number} -> Number + 1.0;
+ {RefB, Number} -> Number + 2.0
+ after 0 ->
+ ok
+ end.
+
maps(_Config) ->
{'EXIT',{{badmatch,#{}},_}} = (catch maps_1(any)),
ok.