ThreadJoins.Specinclude module type of struct include Analyses.IdentitySpec endinclude module type of struct include Analyses.DefaultSpec endmodule P = Analyses.EmptyPval vdecl : ('a, 'b, 'c, 'd) Analyses.man -> 'e -> 'aval asm : ('a, 'b, 'c, 'd) Analyses.man -> 'aval skip : ('a, 'b, 'c, 'd) Analyses.man -> 'aval event : ('a, 'b, 'c, 'd) Analyses.man -> 'e -> 'f -> 'aval sync : ('a, 'b, 'c, 'd) Analyses.man -> 'e -> 'aval paths_as_set : ('a, 'b, 'c, 'd) Analyses.man -> 'a listmodule A = Analyses.UnitAval assign :
('a, 'b, 'c, 'd) Analyses.man ->
GoblintCil.lval ->
GoblintCil.exp ->
'aval branch : ('a, 'b, 'c, 'd) Analyses.man -> GoblintCil.exp -> bool -> 'aval body : ('a, 'b, 'c, 'd) Analyses.man -> GoblintCil.fundec -> 'aval enter :
('a, 'b, 'c, 'd) Analyses.man ->
GoblintCil.lval option ->
GoblintCil.fundec ->
GoblintCil.exp list ->
('a * 'a) listval combine_assign :
('a, 'b, 'c, 'd) Analyses.man ->
GoblintCil.lval option ->
'e ->
GoblintCil.fundec ->
GoblintCil.exp list ->
'f ->
'g ->
Queries.ask ->
'aval threadenter :
('a, 'b, 'c, 'd) Analyses.man ->
multiple:'e ->
'f ->
'g ->
'h ->
'a listmodule MustTIDsWithBot : sig ... endmodule D : sig ... endmodule G = Dmodule V = Analyses.TIDVval threadreturn :
([ `Lifted of SetDomain.Make(ThreadIdDomain.FlagConfiguredTID).t | `Top ]
* bool,
[ `Lifted of SetDomain.Make(ThreadIdDomain.FlagConfiguredTID).t | `Top ]
* bool,
'a,
ThreadIdDomain.Thread.t)
Analyses.man ->
unitval return :
(D.t, MustTIDsWithBot.t * bool, 'a, ThreadIdDomain.Thread.t) Analyses.man ->
GoblintCil.exp option ->
GoblintCil.fundec ->
D.tval special :
(D.t, MustTIDsWithBot.t * bool, 'a, ThreadIdDomain.Thread.t) Analyses.man ->
GoblintCil.lval option ->
GoblintCil.varinfo ->
GoblintCil.exp list ->
D.tval threadspawn :
([ `Lifted of SetDomain.Make(ThreadIdDomain.FlagConfiguredTID).t | `Top ]
* 'a,
'b,
'c,
'd)
Analyses.man ->
multiple:'e ->
'f ->
'g ->
'h ->
('i, 'j, 'k, 'l) Analyses.man ->
[ `Lifted of SetDomain.Make(ThreadIdDomain.FlagConfiguredTID).t | `Top ] * 'aval query :
(MustTIDsWithBot.t * bool, 'b, 'c, 'd) Analyses.man ->
'a Queries.t ->
'a Queries.resultval combine_env :
([ `Lifted of SetDomain.Make(ThreadIdDomain.FlagConfiguredTID).t | `Top ]
* bool,
'a,
'b,
'c)
Analyses.man ->
'd ->
'e ->
'f ->
'g ->
'h ->
([ `Lifted of SetDomain.Make(ThreadIdDomain.FlagConfiguredTID).t | `Top ]
* bool) ->
'i ->
[ `Lifted of SetDomain.Make(ThreadIdDomain.FlagConfiguredTID).t | `Top ]
* boolval startstate :
'a ->
[ `Lifted of SetDomain.Make(ThreadIdDomain.FlagConfiguredTID).t | `Top ]
* boolval exitstate :
'a ->
[ `Lifted of SetDomain.Make(ThreadIdDomain.FlagConfiguredTID).t | `Top ]
* bool