diff options
author | Henrik Nord <[email protected]> | 2012-10-03 15:15:17 +0200 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2012-10-03 15:19:30 +0200 |
commit | ab151d0adebc31fbb74adffa69e4524f69dc8b62 (patch) | |
tree | 3b06b60f79160d6ad46ba04632f3f7f24382f1d6 /lib/hipe/cerl | |
parent | 1a4e8f6e5cbebcdb8d99ef44154fe3c9742ef8b7 (diff) | |
parent | 5e766039bb990ac17a9559301ad1599e250bf9e7 (diff) | |
download | otp-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.erl | 8 |
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. |