module F_Proj: functor (
C
:
PdgMarks.T_Config
) ->
sig
.. end
To also use interprocedural propagation, the user can instantiate this
functor. This is, of course, not mandatory because one can want to use a more
complex propagation (like slicing for instance, that has more than one
version for a source function).
type
t_mark = C.M.t
type
t_fct = (C.M.t, C.M.t_call_info) PdgIndex.FctIndex.t
type
t = t_fct_info Cil_datatype.Varinfo.Hashtbl.t
val empty : t_fct_info Cil_datatype.Varinfo.Hashtbl.t
val find_marks : F.t Cil_datatype.Varinfo.Hashtbl.t ->
Cil_datatype.Varinfo.Hashtbl.key -> F.t_idx option
val mark_and_propagate : F.t Cil_datatype.Varinfo.Hashtbl.t ->
Db.Pdg.t -> F.t_mark PdgMarks.t_select -> unit
Add the marks to the pdg nodes and also apply all the produced requests
to do the interprocedural propagation.