diff options
author | Frej Drejhammar <frej.drejhammar@gmail.com> | 2023-05-04 11:49:24 +0200 |
---|---|---|
committer | Frej Drejhammar <frej.drejhammar@gmail.com> | 2023-05-04 14:36:11 +0200 |
commit | c9919949e055dea8f86d50ea7fef70eefd835e00 (patch) | |
tree | c6df94c7152196e933d95bbd7f113b71d4eaa098 /lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl | |
parent | 24211242b21aa8ff6d2691c898c162f9bd3d19d1 (diff) | |
download | erlang-c9919949e055dea8f86d50ea7fef70eefd835e00.tar.gz |
compiler: Fix bug in SSA-checker
Fix a bug in the SSA-checker where it trashes the environment after
matching a literal bitstring.
Diffstat (limited to 'lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl')
-rw-r--r-- | lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl b/lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl index ae4bb28eea..47c60fd8d6 100644 --- a/lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl +++ b/lib/compiler/test/beam_ssa_check_SUITE_data/sanity_checks.erl @@ -18,6 +18,8 @@ -module(sanity_checks). +-compile(no_ssa_opt_private_append). + -export([check_fail/0, check_wrong_pass/0, check_xfail/0, @@ -33,7 +35,9 @@ t25/0, t26/0, t27/0, t28/0, t29/0, t30/0, t31/0, t32/1, t33/1, t34/1, t35/1, t36/0, t37/0, t38/0, t39/1, - t40/0, t41/0, t42/0, t43/0, t44/0]). + t40/0, t41/0, t42/0, t43/0, t44/0, + + check_env/0]). %% Check that we do not trigger on the wrong pass check_wrong_pass() -> @@ -325,3 +329,13 @@ t44() -> %ssa% () when post_ssa_opt -> %ssa% _ = call(fun e:f0/1, {...}). e:f0({}). + +%% Ensure bug which trashed the environment after matching a literal +%% bitstring stays fixed. +check_env() -> +%ssa% () when post_ssa_opt -> +%ssa% X = bs_create_bin(append, _, <<>>, ...), +%ssa% ret(X). + A = <<>>, + B = ex:f(), + <<A/binary, B/binary>>. |