aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2017-09-12 14:52:18 +0200
committerHans Bolinder <[email protected]>2017-09-12 14:52:18 +0200
commitcffb99eec48da1afba341808d53a5d3e1c848e28 (patch)
treed16eb9d7ff2128584b1cd070efa9ed22a533c995 /lib/dialyzer/src
parentada0b0b9c760553430af8e812852dab7f8a501e5 (diff)
parent4bfca4eed77e53ba1042b2fdc1e63993b44696e1 (diff)
downloadotp-cffb99eec48da1afba341808d53a5d3e1c848e28.tar.gz
otp-cffb99eec48da1afba341808d53a5d3e1c848e28.tar.bz2
otp-cffb99eec48da1afba341808d53a5d3e1c848e28.zip
Merge branch 'maint'
* maint: dialyzer: Do not fix ETS tables when merging PLTs
Diffstat (limited to 'lib/dialyzer/src')
-rw-r--r--lib/dialyzer/src/dialyzer_plt.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/dialyzer/src/dialyzer_plt.erl b/lib/dialyzer/src/dialyzer_plt.erl
index 0fd99bbc04..95c8b5ebce 100644
--- a/lib/dialyzer/src/dialyzer_plt.erl
+++ b/lib/dialyzer/src/dialyzer_plt.erl
@@ -772,12 +772,16 @@ tab_is_disj(K1, T1, T2) ->
end.
merge_tables(T1, T2) ->
- ets:safe_fixtable(T1, true),
tab_merge(ets:first(T1), T1, T2).
tab_merge('$end_of_table', T1, T2) ->
- true = ets:delete(T1),
- T2;
+ case ets:first(T1) of % no safe_fixtable()...
+ '$end_of_table' ->
+ true = ets:delete(T1),
+ T2;
+ Key ->
+ tab_merge(Key, T1, T2)
+ end;
tab_merge(K1, T1, T2) ->
Vs = ets:lookup(T1, K1),
NextK1 = ets:next(T1, K1),