diff options
author | Henrik Nord <[email protected]> | 2011-08-25 10:58:33 +0200 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2011-08-25 10:58:33 +0200 |
commit | 756a93ca2064b9e0eba3d82a7bd37aeae0f39be1 (patch) | |
tree | ffbbbfd2749a522c7b1f70ee4f7b1fa0a5e189f3 /lib/dialyzer/src/dialyzer_dataflow.erl | |
parent | 48eb259aa2d6c7c5d1ddebbfbcefae5e3dafc49c (diff) | |
parent | d48eaa0731017e5cdadca0af77ac14cd949b6c67 (diff) | |
download | otp-756a93ca2064b9e0eba3d82a7bd37aeae0f39be1.tar.gz otp-756a93ca2064b9e0eba3d82a7bd37aeae0f39be1.tar.bz2 otp-756a93ca2064b9e0eba3d82a7bd37aeae0f39be1.zip |
Merge branch 'dev' into major
Diffstat (limited to 'lib/dialyzer/src/dialyzer_dataflow.erl')
-rw-r--r-- | lib/dialyzer/src/dialyzer_dataflow.erl | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/dialyzer/src/dialyzer_dataflow.erl b/lib/dialyzer/src/dialyzer_dataflow.erl index 7137dbc036..8cb16d8f09 100644 --- a/lib/dialyzer/src/dialyzer_dataflow.erl +++ b/lib/dialyzer/src/dialyzer_dataflow.erl @@ -1414,6 +1414,17 @@ do_clause(C, Arg, ArgType0, OrigArgType, Map, false -> true end; + [Pat0, Pat1] -> % binary comprehension + case cerl:is_c_cons(Pat0) of + true -> + not (cerl:is_c_var(cerl:cons_hd(Pat0)) andalso + cerl:is_c_var(cerl:cons_tl(Pat0)) andalso + cerl:is_c_var(Pat1) andalso + cerl:is_literal(Guard) andalso + (cerl:concrete(Guard) =:= true)); + false -> + true + end; _ -> true end; false -> @@ -2915,7 +2926,7 @@ state__get_warnings(#state{tree_map = TreeMap, fun_tab = FunTab, {Warn, Msg} = case dialyzer_callgraph:lookup_name(FunLbl, Callgraph) of error -> {true, {unused_fun, []}}; - {ok, {_M, F, A}} = MFA -> + {ok, {_M, F, A} = MFA} -> {not sets:is_element(MFA, NoWarnUnused), {unused_fun, [F, A]}} end, |