From 7bdf8d51dd822010e6736d8f5dd93bcf78bf15c9 Mon Sep 17 00:00:00 2001
From: Basile Desloges <basile.desloges@cea.fr>
Date: Thu, 18 Jun 2020 17:34:36 +0200
Subject: [PATCH] [eacsl] Update Constructor.mk_full_init_stmt

Remove unused labelled argument and simplify the function as a result.
---
 src/plugins/e-acsl/src/code_generator/constructor.ml     | 7 ++-----
 src/plugins/e-acsl/src/code_generator/constructor.mli    | 5 +++--
 src/plugins/e-acsl/src/code_generator/global_observer.ml | 2 +-
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/plugins/e-acsl/src/code_generator/constructor.ml b/src/plugins/e-acsl/src/code_generator/constructor.ml
index 923affc32ce..4cebe7a2479 100644
--- a/src/plugins/e-acsl/src/code_generator/constructor.ml
+++ b/src/plugins/e-acsl/src/code_generator/constructor.ml
@@ -105,12 +105,9 @@ let mk_rtl_call ~loc ?result fname args =
 (** {2 Handling the E-ACSL's C-libraries, part II} *)
 (* ************************************************************************** *)
 
-let mk_full_init_stmt ?(addr=true) vi =
+let mk_full_init_stmt vi =
   let loc = vi.vdecl in
-  let mk = mk_rtl_call ~loc "full_init" in
-  match addr, Cil.unrollType vi.vtype with
-  | _, TArray(_,Some _, _, _) | false, _ -> mk [ Cil.evar ~loc vi ]
-  | _ -> mk [ Cil.mkAddrOfVi vi ]
+  mk_rtl_call ~loc "full_init" [ Cil.evar ~loc vi ]
 
 let mk_initialize ~loc (host, offset as lv) = match host, offset with
   | Var _, NoOffset ->
diff --git a/src/plugins/e-acsl/src/code_generator/constructor.mli b/src/plugins/e-acsl/src/code_generator/constructor.mli
index b286e62ca2e..c3eb194acd0 100644
--- a/src/plugins/e-acsl/src/code_generator/constructor.mli
+++ b/src/plugins/e-acsl/src/code_generator/constructor.mli
@@ -58,9 +58,10 @@ val mk_delete_stmt: varinfo -> stmt
 (** Same as [mk_store_stmt] for [__e_acsl_delete_block] that observes the
     de-allocation of the given varinfo. *)
 
-val mk_full_init_stmt: ?addr:bool -> varinfo -> stmt
+val mk_full_init_stmt: varinfo -> stmt
 (** Same as [mk_store_stmt] for [__e_acsl_full_init] that observes the
-    initialization of the given varinfo. *)
+    initialization of the given varinfo. The varinfo is the address to fully
+    initialize, no [addrOf] is taken. *)
 
 val mk_initialize: loc:location -> lval -> stmt
 (** Same as [mk_store_stmt] for [__e_acsl_initialize] that observes the
diff --git a/src/plugins/e-acsl/src/code_generator/global_observer.ml b/src/plugins/e-acsl/src/code_generator/global_observer.ml
index 703b4a6f6f6..a89178c8993 100644
--- a/src/plugins/e-acsl/src/code_generator/global_observer.ml
+++ b/src/plugins/e-acsl/src/code_generator/global_observer.ml
@@ -138,7 +138,7 @@ let mk_init_function () =
          let str_size = Cil.new_exp loc (SizeOfStr s) in
          Cil.mkStmtOneInstr ~valid_sid:true (Set(Cil.var vi, e, loc))
          :: Constructor.mk_store_stmt ~str_size vi
-         :: Constructor.mk_full_init_stmt ~addr:false vi
+         :: Constructor.mk_full_init_stmt vi
          :: Constructor.mk_mark_readonly vi
          :: stmts)
       stmts
-- 
GitLab