From 19b1be74d24496c07b1247b71282ac76f0a5a156 Mon Sep 17 00:00:00 2001 From: Tristan Le Gall <tristan.le-gall@cea.fr> Date: Thu, 16 Feb 2023 17:11:23 +0100 Subject: [PATCH] [alias] fixed - print_dot function --- src/plugins/alias/Alias.ml | 2 +- src/plugins/alias/abstract_state.ml | 13 +++++++------ src/plugins/alias/analysis.ml | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/plugins/alias/Alias.ml b/src/plugins/alias/Alias.ml index b1143e01c4a..dbc33eef711 100644 --- a/src/plugins/alias/Alias.ml +++ b/src/plugins/alias/Alias.ml @@ -29,6 +29,6 @@ let main () = Analysis.compute (); Options.feedback "Analysis complete"; end - + let () = Db.Main.extend main diff --git a/src/plugins/alias/abstract_state.ml b/src/plugins/alias/abstract_state.ml index 4cd5c110cab..01b59fcfa59 100644 --- a/src/plugins/alias/abstract_state.ml +++ b/src/plugins/alias/abstract_state.ml @@ -297,11 +297,10 @@ let remove_lval (x:t) (lv:lval) :t = let find_vertex_name_ref = Extlib.mk_fun "find_vertex_name" -let lset_to_string s = - let buffer = Buffer.create 16 in - let fmt = Format.formatter_of_buffer buffer in - Format.fprintf fmt "%a" LSet.pretty s ; - Buffer.contents buffer +let lset_to_string (s: LSet.t) : string = + let fmt = Format.str_formatter in + Format.fprintf fmt "\"%a\"" LSet.pretty s; + Format.flush_str_formatter () module Dot = Graphviz.Dot(struct include G @@ -311,7 +310,9 @@ module Dot = Graphviz.Dot(struct let vertex_attributes _ = [`Shape `Box] let vertex_name (v:V.t) = let lset = !find_vertex_name_ref v in - lset_to_string lset + let v_name = lset_to_string lset in + Format.printf "Vertex %d set %s@." v v_name; + v_name let default_vertex_attributes _ = [] let graph_attributes _ = [] end) diff --git a/src/plugins/alias/analysis.ml b/src/plugins/alias/analysis.ml index bbadf5c6d4a..5b4e214c27b 100644 --- a/src/plugins/alias/analysis.ml +++ b/src/plugins/alias/analysis.ml @@ -103,7 +103,7 @@ let do_assignment (a:Abstract_state.t option) (lv:lval) (exp:exp) : Abstract_sta begin match e1.enode with Lval lv1 -> Some (Abstract_state.assignment_ptr_x_y a lv1 lv2) - | _ -> (Options.feedback "Skipping assignment @[%a@] = @[%a@] (BUG do_assignment 2)" Lval.pretty lv Exp.pretty exp; Some a) + | _ -> (Options.feedback "Skipping assignment @[%a@] = @[%a@] (BUG do_assignment 2)" Lval.pretty lv Exp.pretty exp; Some a) end (* cases *x = cst *) | (Some a, (Mem e1, NoOffset), BNone) -> -- GitLab