From f2240395dd1f6372d82240f6f4954ff066bd984d Mon Sep 17 00:00:00 2001 From: Jules Villard Date: Tue, 5 Jan 2016 10:25:28 -0800 Subject: [PATCH] restore join of integer values Summary: public 4feb93e91c585abc694e582f193d75bc49de28b4 disabled join of tuple values, but also of any two values of the same type. However, we do know how to join integer values, so re-enable those. Reviewed By: cristianoc Differential Revision: D2803286 fb-gh-sync-id: 5bcc725 --- infer/src/backend/dom.ml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/infer/src/backend/dom.ml b/infer/src/backend/dom.ml index f8b74f272..874c4c577 100644 --- a/infer/src/backend/dom.ml +++ b/infer/src/backend/dom.ml @@ -895,8 +895,9 @@ let ident_partial_meet (id1: Ident.t) (id2: Ident.t) = (** {2 Join and Meet for Exps} *) let const_partial_join c1 c2 = + let is_int = function Sil.Cint _ -> true | _ -> false in if Sil.const_equal c1 c2 then Sil.Const c1 - else if Sil.const_kind_equal c1 c2 then + else if Sil.const_kind_equal c1 c2 && not (is_int c1) then (L.d_strln "failure reason 18"; raise IList.Fail) else if !Config.abs_val >= 2 then FreshVarExp.get_fresh_exp (Sil.Const c1) (Sil.Const c2)