From 403765b3a97d96d0be441dd63f09a67eeaedd418 Mon Sep 17 00:00:00 2001 From: Allan Blanchard <allan.blanchard@inria.fr> Date: Tue, 27 Nov 2018 11:12:16 +0100 Subject: [PATCH] Ensures that ghost function declarations lead to ghost formals --- src/kernel_services/ast_queries/cil.ml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/kernel_services/ast_queries/cil.ml b/src/kernel_services/ast_queries/cil.ml index c45a165d3b6..8d784488115 100644 --- a/src/kernel_services/ast_queries/cil.ml +++ b/src/kernel_services/ast_queries/cil.ml @@ -635,6 +635,13 @@ let makeFormalsVarDecl (n,t,a) = let setFormalsDecl vi typ = match unrollType typ with | TFun(_, Some args, _, _) -> + let args = if vi.vghost then + let ghost_attr = Attr (frama_c_ghost, []) in + let add_attr a = addAttribute ghost_attr a in + List.map (fun (n,t,a) -> (n,t, add_attr a)) args + else + args + in FormalsDecl.replace vi (List.map makeFormalsVarDecl args) | TFun(_,None,_,_) -> () | _ -> -- GitLab