Skip to content

Commit 23b8695

Browse files
committed
Merge branch 'maint'
2 parents 6efeea8 + 918584c commit 23b8695

2 files changed

Lines changed: 15 additions & 3 deletions

File tree

lib/compiler/src/beam_ssa_pre_codegen.erl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1189,7 +1189,9 @@ expand_update_tuple_is([#b_set{op=update_tuple, args=[Src | Args]}=I0 | Is],
11891189
{SetElement, Sets, Count} = expand_update_tuple_list(Args, I0, Src, Count0),
11901190
case {Sets, Is} of
11911191
{[_ | _], [#b_set{op=succeeded}=I]} ->
1192-
{reverse(Acc, [SetElement, I]), reverse(Sets), Count};
1192+
#b_set{dst=Dst} = SetElement,
1193+
SuccI = I#b_set{args=[Dst]},
1194+
{reverse(Acc, [SetElement, SuccI]), reverse(Sets), Count};
11931195
{_, _} ->
11941196
expand_update_tuple_is(Is, Count, Sets ++ [SetElement | Acc])
11951197
end;

lib/compiler/test/beam_type_SUITE.erl

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
cover_maps_functions/1,min_max_mixed_types/1,
3737
not_equal/1,infer_relops/1,binary_unit/1,premature_concretization/1,
3838
funs/1,will_succeed/1,float_confusion/1,
39-
cover_convert_ext/1, catch_setelement/1]).
39+
cover_convert_ext/1, catch_setelement/1,gh_11368/1]).
4040

4141
%% Force id/1 to return 'any'.
4242
-export([id/1]).
@@ -85,7 +85,8 @@ groups() ->
8585
will_succeed,
8686
float_confusion,
8787
cover_convert_ext,
88-
catch_setelement
88+
catch_setelement,
89+
gh_11368
8990
]}].
9091

9192
init_per_suite(Config) ->
@@ -1667,6 +1668,15 @@ catch_setelement_2(B, V) ->
16671668
T = if B -> {1}; true -> {1,2} end,
16681669
catch setelement(2, T, V).
16691670

1671+
gh_11368(_Config) ->
1672+
prepare_request(id({0,0,0,0}), id({1,1,1,1})),
1673+
ok.
1674+
1675+
prepare_request(Msg0, Seq) ->
1676+
Flags = element(3, Msg0),
1677+
Msg1 = setelement(3, Msg0, [request | Flags]),
1678+
setelement(4, Msg1, Seq).
1679+
16701680
%%%
16711681
%%% Common utilities.
16721682
%%%

0 commit comments

Comments
 (0)