Skip to content

Commit

Permalink
mutexEvents: Do not emit refines of form &a=&a
Browse files Browse the repository at this point in the history
  • Loading branch information
michael-schwarz committed Mar 28, 2024
1 parent 0c72199 commit 96e7b37
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/analyses/mutexEventsAnalysis.ml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,12 @@ struct
let lock ctx rw may_fail nonzero_return_when_aquired a lv_opt arg =
let compute_refine_split (e:Mutexes.elt) = match e with
| Addr a ->
let e' = BinOp(Eq, arg, AddrOf ((PreValueDomain.Mval.to_cil a)), intType) in
[Events.SplitBranch (e',true)]
let arg_e = AddrOf (PreValueDomain.Mval.to_cil a) in
if not (CilType.Exp.equal arg arg_e) then
let e' = BinOp(Eq, arg, AddrOf (PreValueDomain.Mval.to_cil a), intType) in
[Events.SplitBranch (e',true)]
else
[]
| _ -> []
in
match lv_opt with
Expand Down

0 comments on commit 96e7b37

Please sign in to comment.