let pp_userformals fmt ufs =
List.iter
(function
| UF_logic(lv,x) ->
Format.fprintf fmt
"@\n * (%a:%a) parameter '%s' in ACSL definition"
F.pp_var x F.pp_tau (F.tau_of_var x)
lv.lv_name
| UF_references(lv,opt_cx,refs) ->
begin
match opt_cx with
| None -> ()
| Some y ->
Format.fprintf fmt "@\n * (%a:%a) C reference to %a"
F.pp_var y F.pp_tau (F.tau_of_var y)
!Ast_printer.d_logic_var lv
end;
List.iter
(fun (x,formal,label) ->
Format.fprintf fmt "@\n * (%a:%a) reference to %a at %s"
F.pp_var x F.pp_tau (F.tau_of_var x)
M.pp_formal (formal,lv) label )
refs
| UF_closure(x,closure,label) ->
Format.fprintf fmt "@\n * (%a:%a) %a at %s"
F.pp_var x F.pp_tau (F.tau_of_var x)
M.pp_closure closure label
) ufs