let check_one top info counter s =
match info with
| ECall (kf,used_prms,tr) ->
(try
let vi = Globals.Vars.find_from_astinfo s (VFormal kf) in
if top then Some (Logic_const.tvar (Cil.cvar_to_lvar vi))
else Some (memo_aux_variable tr counter used_prms vi)
with Not_found -> None)
| EReturn kf when top && ( Datatype.String.equal s "return"
|| Datatype.String.equal s "\\result") ->
let rt = Kernel_function.get_return_type kf in
if Cil.isVoidType rt then
Aorai_option.abort
"%a returns void. \\result is meaningless in this context"
Kernel_function.pretty kf;
Some (Logic_const.term (TLval (TResult rt,TNoOffset)) (Ctype rt))
| ECOR _ | EReturn _ | EMulti | ENone -> None