let process_call_args data called_kf stmt args =
let param_list = Kernel_function.get_formals called_kf in
let asgn_arg_to_param data param arg =
let param_zone = Locations.zone_of_varinfo param in
let arg_dpds = Data.exp_zone stmt arg in
let exact = true in
let _used, data =
compute_new_data data param_zone Data.bottom exact arg_dpds in
data
in
let rec do_param_arg data param_list args =
match param_list, args with
| [], [] -> data
| p :: param_list, a :: args ->
let data = asgn_arg_to_param data p a in
do_param_arg data param_list args
| [], _ ->
data
| _, [] -> R.abort "call to a function with to few arguments"
in do_param_arg data param_list args