aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/cerl
diff options
context:
space:
mode:
authorHenrik Nord <[email protected]>2012-10-03 15:15:17 +0200
committerHenrik Nord <[email protected]>2012-10-03 15:19:30 +0200
commitab151d0adebc31fbb74adffa69e4524f69dc8b62 (patch)
tree3b06b60f79160d6ad46ba04632f3f7f24382f1d6 /lib/hipe/cerl
parent1a4e8f6e5cbebcdb8d99ef44154fe3c9742ef8b7 (diff)
parent5e766039bb990ac17a9559301ad1599e250bf9e7 (diff)
downloadotp-ab151d0adebc31fbb74adffa69e4524f69dc8b62.tar.gz
otp-ab151d0adebc31fbb74adffa69e4524f69dc8b62.tar.bz2
otp-ab151d0adebc31fbb74adffa69e4524f69dc8b62.zip
Merge branch 'sa/dialyzer-fix-r15b02' into maint
* sa/dialyzer-fix-r15b02: Fix a crash in race condition detection Remove old untested experimental extension Respect {plt_check,false} option when using dialyzer:run/1 Fix handling of tuple set remote types appearing in tuple sets OTP-10464
Diffstat (limited to 'lib/hipe/cerl')
-rw-r--r--lib/hipe/cerl/erl_types.erl8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/hipe/cerl/erl_types.erl b/lib/hipe/cerl/erl_types.erl
index 1579735773..bc7ea17077 100644
--- a/lib/hipe/cerl/erl_types.erl
+++ b/lib/hipe/cerl/erl_types.erl
@@ -687,8 +687,8 @@ t_solve_remote(?tuple(Types, _Arity, _Tag), ET, R, C) ->
{RL, RR} = list_solve_remote(Types, ET, R, C),
{t_tuple(RL), RR};
t_solve_remote(?tuple_set(Set), ET, R, C) ->
- {NewSet, RR} = tuples_solve_remote(Set, ET, R, C),
- {?tuple_set(NewSet), RR};
+ {NewTuples, RR} = tuples_solve_remote(Set, ET, R, C),
+ {t_sup(NewTuples), RR};
t_solve_remote(?remote(Set), ET, R, C) ->
RemoteList = ordsets:to_list(Set),
{RL, RR} = list_solve_remote_type(RemoteList, ET, R, C),
@@ -788,10 +788,10 @@ opaques_solve_remote([#opaque{struct = Struct} = Remote|Tail], ET, R, C) ->
tuples_solve_remote([], _ET, _R, _C) ->
{[], []};
-tuples_solve_remote([{Sz, Tuples}|Tail], ET, R, C) ->
+tuples_solve_remote([{_Sz, Tuples}|Tail], ET, R, C) ->
{RL, RR1} = list_solve_remote(Tuples, ET, R, C),
{LSzTpls, RR2} = tuples_solve_remote(Tail, ET, R, C),
- {[{Sz, RL}|LSzTpls], RR1 ++ RR2}.
+ {RL ++ LSzTpls, RR1 ++ RR2}.
%%-----------------------------------------------------------------------------
%% Unit type. Signals non termination.