From 0f6f44df1cfd24c6bc6ee8874da7596e12dfb438 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr>
Date: Mon, 25 Apr 2022 09:55:29 +0200
Subject: [PATCH] [Eva] Multidim: [Abstract_offset.references] returns a set
 instead of a list.

---
 src/plugins/value/domains/multidim/abstract_offset.ml  | 4 ++--
 src/plugins/value/domains/multidim/abstract_offset.mli | 2 +-
 src/plugins/value/domains/multidim/multidim_domain.ml  | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/plugins/value/domains/multidim/abstract_offset.ml b/src/plugins/value/domains/multidim/abstract_offset.ml
index 366d77da8fa..bb77adc682a 100644
--- a/src/plugins/value/domains/multidim/abstract_offset.ml
+++ b/src/plugins/value/domains/multidim/abstract_offset.ml
@@ -249,7 +249,7 @@ let references =
     | Field (_, sub) | Index (None, _, _, sub) -> aux acc sub
     | Index (Some e, _, _, sub) ->
       let r = Cil.extract_varinfos_from_exp e in
-      let acc = (Cil_datatype.Varinfo.Set.to_seq r |> List.of_seq) @ acc in
+      let acc = Cil_datatype.Varinfo.Set.union r acc in
       aux acc sub
   in
-  aux []
+  aux Cil_datatype.Varinfo.Set.empty
diff --git a/src/plugins/value/domains/multidim/abstract_offset.mli b/src/plugins/value/domains/multidim/abstract_offset.mli
index b200d12f69c..8281c8a662e 100644
--- a/src/plugins/value/domains/multidim/abstract_offset.mli
+++ b/src/plugins/value/domains/multidim/abstract_offset.mli
@@ -36,7 +36,7 @@ val of_ival : base_typ:Cil_types.typ -> typ:Cil_types.typ -> Ival.t -> t or_top
 val of_term_offset : Cil_types.typ -> Cil_types.term_offset -> t or_top
 
 val is_singleton : t -> bool
-val references : t -> Cil_types.varinfo list (* variables referenced in the offset *)
+val references : t -> Cil_datatype.Varinfo.Set.t (* variables referenced in the offset *)
 
 val append : t -> t -> t (* Does not check that the appened offset fits *)
 val join : t -> t -> t or_top
diff --git a/src/plugins/value/domains/multidim/multidim_domain.ml b/src/plugins/value/domains/multidim/multidim_domain.ml
index 2fcc17bd224..2f6459d9c5c 100644
--- a/src/plugins/value/domains/multidim/multidim_domain.ml
+++ b/src/plugins/value/domains/multidim/multidim_domain.ml
@@ -168,9 +168,9 @@ struct
     let add_refs _b o acc =
       match o with
       | `Top -> acc
-      | `Value o -> Set.union (Set.of_list (Offset.references o)) acc
+      | `Value o -> Set.union (Offset.references o) acc
     in
-    Map.fold add_refs map Set.empty |> Set.to_seq |> List.of_seq
+    Map.fold add_refs map Set.empty |> Set.elements
 
   let of_var (vi : Cil_types.varinfo) : t =
     Map.singleton (Base.of_varinfo vi) (`Value (Offset.of_var_address vi))
-- 
GitLab