package goblint
Module ThreadJoins.Spec
include module type of struct include Analyses.IdentitySpec end
include module type of struct include Analyses.DefaultSpec end
val intrpt : ('a, 'b, 'c) Analyses.ctx -> 'aval vdecl : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'aval asm : ('a, 'b, 'c) Analyses.ctx -> 'aval skip : ('a, 'b, 'c) Analyses.ctx -> 'aval event : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'aval sync : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'aval assign : ('a, 'b, 'c) Analyses.ctx -> Cil.lval -> Cil.exp -> 'aval branch : ('a, 'b, 'c) Analyses.ctx -> Cil.exp -> bool -> 'aval body : ('a, 'b, 'c) Analyses.ctx -> Cil.fundec -> 'aval enter :
('a, 'b, 'c) Analyses.ctx ->
Cil.lval option ->
Cil.fundec ->
Cil.exp list ->
('a * 'a) listval threadenter : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'f -> 'a listval threadspawn : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'f -> 'g -> 'amodule D = MustTIDsmodule C = Dmodule G = MustTIDsval return :
(D.t, D.t, 'a) Analyses.ctx ->
Prelude.Ana.exp option ->
Prelude.Ana.fundec ->
D.tval special :
(ConcDomain.ThreadSet.t, ConcDomain.ThreadSet.t, 'a) Analyses.ctx ->
Prelude.Ana.lval option ->
Prelude.Ana.varinfo ->
Prelude.Ana.exp list ->
D.tval query :
(ConcDomain.MustThreadSet.t, 'b, 'c) Analyses.ctx ->
'a Queries.t ->
'a Queries.resultval startstate : 'a -> ConcDomain.ThreadSet.tval exitstate : 'a -> ConcDomain.ThreadSet.t