diff --git a/meta_bindings.ml b/meta_bindings.ml index ded39029464119301f70589ebceafa7abdc13859..9896a7b2e0ae2a0b657ecdc6b96c9857197091d9 100644 --- a/meta_bindings.ml +++ b/meta_bindings.ml @@ -119,7 +119,7 @@ let add_ghost_code flags = let base_type = Logic_utils.logicCType typ in (* The _set is either a fixed array or a pointer *) let ctype = match flags.static_bindings with - | Some n -> TArray (base_type, Some (Cil.integer unkloc n), []) + | Some n -> TArray (base_type, Some (Cil.integer ~loc:unkloc n), []) | None -> TPtr (base_type, []) in let var = Cil.makeGlobalVar (setname name) ctype in @@ -194,8 +194,8 @@ let make_dynamic_modif_code name lvar = let sizevar = search_global_var (sizename name) in let capvar = search_global_var (capname name) in List.rev [ - (let cond = Cil.mkBinOp unkloc Gt (Cil.evar sizevar) (Cil.evar capvar) in - let newsize = Cil.mkBinOp unkloc Mult (Cil.integer unkloc 2) + (let cond = Cil.mkBinOp ~loc:unkloc Gt (Cil.evar sizevar) (Cil.evar capvar) in + let newsize = Cil.mkBinOp ~loc:unkloc Mult (Cil.integer ~loc:unkloc 2) (Cil.increm (Cil.evar sizevar) 1) in let realloc = Globals.Functions.find_by_name "realloc" |> Kernel_function.get_vi |> Cil.evar in @@ -203,8 +203,8 @@ let make_dynamic_modif_code name lvar = let incinstr = Call (None, realloc, [arg; newsize], unkloc) in let inc = Cil.mkStmtOneInstr ~ghost:true incinstr in Cil.mkStmt ~ghost:true (If (cond, Cil.mkBlock [inc], Cil.mkBlock [], unkloc))); - (let addr = Cil.mkBinOp unkloc PlusPI (Cil.evar tabvar) (Cil.evar sizevar) in - let tabcell = Cil.mkMem addr NoOffset in + (let addr = Cil.mkBinOp ~loc:unkloc PlusPI (Cil.evar tabvar) (Cil.evar sizevar) in + let tabcell = Cil.mkMem ~addr ~off:NoOffset in let value = Option.get lvar.lv_origin |> Cil.evar in Cil.mkStmtOneInstr ~ghost:true (Set (tabcell, value, unkloc))); (let increxp = Cil.increm (Cil.evar sizevar) 1 in diff --git a/meta_deduce.ml b/meta_deduce.ml index f26a872af386abd8b6cf60ad98f065d6e95e003a..3d5e1e1af1428314463547ecbcf1d08dd0a078f7 100644 --- a/meta_deduce.ml +++ b/meta_deduce.ml @@ -386,14 +386,14 @@ go :- %a | None -> (* This happens if Prolog get stuck and is not interruptible, for an obuscure reaons *) Self.warning "%s : PROLOG FAILURE, (%d ATTEMPTS)" mp.mp_name max_attempts; - Property_status.emit emitter [] ip Property_status.False_and_reachable; + Property_status.emit emitter ~hyps:[] ip Property_status.False_and_reachable; false | Some 0 -> (* Property could be deduced, propagate status *) Self.feedback "%s : OK" mp.mp_name; - Property_status.emit emitter [] ip Property_status.True; true + Property_status.emit emitter ~hyps:[] ip Property_status.True; true | Some _ -> (* Property could not be deduced, propagate FALSE to be safe *) Self.warning "%s : FAILURE" mp.mp_name; - Property_status.emit emitter [] ip Property_status.False_and_reachable; + Property_status.emit emitter ~hyps:[] ip Property_status.False_and_reachable; false in Sys.chdir current_dir; diff --git a/meta_dispatch.ml b/meta_dispatch.ml index d94568f394de14d99e0ec67575c05a3476088b87..38150bd662821af7d05a1b18f76dba8352af5f22 100644 --- a/meta_dispatch.ml +++ b/meta_dispatch.ml @@ -153,11 +153,11 @@ let finalize_dependencies () = (* If the MP is admitted, every instance *is* true *) if prop.ump_admit then List.iter (fun inst -> - Property_status.emit prop.ump_emitter [] inst Property_status.True + Property_status.emit prop.ump_emitter ~hyps:[] inst Property_status.True ) deps else ( (* The MP is true if every instance is true *) - Property_status.emit prop.ump_emitter deps prop.ump_ip Property_status.True + Property_status.emit prop.ump_emitter ~hyps:deps prop.ump_ip Property_status.True ) in Seq.iter add_one keys