let get_call_pre_strategies stmt =
  debug
    "[get_call_pre_strategies] on statement %a@." Stmt.pretty_sid stmt;
  match stmt.skind with
    | Instr(Call(_,f,_,_)) ->
        let strategies = match WpStrategy.get_called_kf f with
          | None ->
              Wp_parameters.warning
                "call through function pointer not implemented yet: cannot check pre-conditions for statement %a"
                Stmt.pretty_sid stmt;
              []
          | Some _kf_called ->
              let kf_caller = Kernel_function.find_englobing_kf stmt in
              let asked = CallPre (stmt, Nonein
                get_strategies NoAssigns kf_caller [] None asked
        in strategies
    | _ -> Wp_parameters.warning
             "[get_call_pre_strategies] this is not a call statement"; []