Region.Spec
include module type of struct include Analyses.DefaultSpec end
Relatively safe default implementations of some boring Spec functions.
module P = Analyses.UnitP
val vdecl : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f
val asm : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e
val skip : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e
val event : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'g
val sync : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f
val paths_as_set : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e list
module D = RegionDomain.RegionDom
module G = RegPart
module V : sig ... end
val regions :
GoblintCil.exp ->
BatSet.Make(Goblint_lib__RegionDomain.RS).t ->
[< `Bot
| `Lifted of
MapDomain.MapBot(MusteqDomain.VF)(Goblint_lib__RegionDomain.RS).t
| `Top ] ->
Mval.Exp.t list
val is_bullet :
GoblintCil.exp ->
'a ->
[< `Bot | `Lifted of RegMap.t | `Top ] ->
bool
val get_region :
([< `Bot
| `Lifted of
MapDomain.MapBot(MusteqDomain.VF)(Goblint_lib__RegionDomain.RS).t &
RegMap.t
| `Top ],
BatSet.Make(Goblint_lib__RegionDomain.RS).t,
'a,
unit)
Analyses.ctx ->
GoblintCil.exp ->
Mval.Exp.t list option
val query :
([< `Bot
| `Lifted of
MapDomain.MapBot(MusteqDomain.VF)(Goblint_lib__RegionDomain.RS).t &
RegMap.t
| `Top ],
BatSet.Make(Goblint_lib__RegionDomain.RS).t,
'b,
unit)
Analyses.ctx ->
'a Queries.t ->
'a0 Queries.result
module Lvals : sig ... end
module A : sig ... end
val access :
([< `Bot
| `Lifted of
MapDomain.MapBot(MusteqDomain.VF)(Goblint_lib__RegionDomain.RS).t &
RegMap.t
| `Top ],
BatSet.Make(Goblint_lib__RegionDomain.RS).t,
'a,
unit)
Analyses.ctx ->
Queries.access ->
Lvals.t option
val assign :
(D.t, BatSet.Make(Goblint_lib__RegionDomain.RS).t, 'a, unit) Analyses.ctx ->
GoblintCil.lval ->
GoblintCil.exp ->
D.t
val branch : (D.t, 'a, 'b, 'c) Analyses.ctx -> GoblintCil.exp -> bool -> D.t
val body : (D.t, 'a, 'b, 'c) Analyses.ctx -> GoblintCil.fundec -> D.t
val return :
(D.t, BatSet.Make(Goblint_lib__RegionDomain.RS).t, 'a, unit) Analyses.ctx ->
GoblintCil.exp option ->
GoblintCil.fundec ->
D.t
val enter :
(D.t, BatSet.Make(Goblint_lib__RegionDomain.RS).t, 'a, unit) Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.fundec ->
GoblintCil.exp list ->
(D.t * D.t) list
val combine_env :
('a, 'b, 'c, 'd) Analyses.ctx ->
'e ->
'f ->
'g ->
'h ->
'i ->
'j ->
'k ->
'l
val combine_assign :
('a, BatSet.Make(Goblint_lib__RegionDomain.RS).t, 'b, unit) Analyses.ctx ->
GoblintCil.lval option ->
'c ->
GoblintCil.fundec ->
GoblintCil.exp list ->
'd ->
D.t ->
Queries.ask ->
D.t
val special :
(D.t, BatSet.Make(Goblint_lib__RegionDomain.RS).t, 'a, unit) Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.varinfo ->
GoblintCil.exp list ->
D.t
val startstate : 'a -> [> `Lifted of RegMap.t ]
val threadenter :
'a ->
multiple:'b ->
'c ->
'd ->
'e ->
[> `Lifted of RegMap.t ] list
val threadspawn :
([> `Lifted of
MapDomain.MapBot(MusteqDomain.VF)(Goblint_lib__RegionDomain.RS).t ] as 'a,
BatSet.Make(Goblint_lib__RegionDomain.RS).t,
'b,
unit)
Analyses.ctx ->
multiple:'c ->
'd ->
'e ->
GoblintCil.exp list ->
'f ->
'g
val exitstate : 'a -> [> `Lifted of RegMap.t ]