package goblint
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=999272bfbd3b9b96fcd58987b237ac6e9fa6d92ef935cc89f1ea2b4205185141
sha512=f3bf6ab71cf8c258d3290da4bf9f6fe42d7c671822e0efeb0fc50afdff078ab15e352237e5c1db31c5aa3a9d430691268ed2e5e00da10f2615835f672f91683d
doc/goblint.lib/Cilfacade/index.html
Module Cilfacade
Helpful functions for dealing with Cil
.
module GU = Goblintutil
val current_statement : Cil.stmt ref
val current_file : Cil.file ref
val showtemps : bool ref
class allBBVisitor : object ... end
val visitors : (string * (Cil.fundec -> Cil.cilVisitor)) list ref
class addConstructors : Cil.fundec list -> object ... end
val getFuns : Cil.file -> startfuns
Cil.typeOf, etc reimplemented to raise sensible exceptions instead of printing all errors directly...
type typeOfError =
| RealImag_NonNumerical
(*unexpected non-numerical type for argument to __real__/__imag__
*)| StartOf_NonArray
(*typeOf: StartOf on a non-array
*)| Mem_NonPointer of Cil.exp
(*typeOfLval: Mem on a non-pointer (exp)
*)| Index_NonArray
(*typeOffset: Index on a non-array
*)| Field_NonCompound
(*typeOffset: Field on a non-compound
*)
exception TypeOfError of typeOfError
val stringLiteralType : Cil.typ ref
val locs : (int, unit) Hashtbl.t
HashSet of line numbers
class countFnVisitor : object ... end
Visitor to count locs appearing inside a fundec.
val fnvis : countFnVisitor
Count the number of unique locations appearing in fundec fn
. Uses Cilfacade.locs
hashtable for intermediate computations
module StmtH : sig ... end
val pseudo_return_to_fun : Cil.fundec StmtH.t
val find_stmt_fundec : StmtH.key -> Cil.fundec
Find fundec
which the stmt
is in.
module VarinfoH : sig ... end
val varinfo_fundecs : Cil.fundec VarinfoH.t Lazy.t
val find_varinfo_fundec : VarinfoH.key -> Cil.fundec
Find fundec
by the function's varinfo
(has the function name and type).
module StringH : sig ... end
val find_name_fundec : StringH.key -> Cil.fundec
Find fundec
by the function's name.
val varinfo_roles : varinfo_role VarinfoH.t Lazy.t
val find_varinfo_role : VarinfoH.key -> varinfo_role
Find the role of the varinfo
.
val is_varinfo_formal : VarinfoH.key -> bool
val find_scope_fundec : VarinfoH.key -> Cil.fundec option
Find the scope of the varinfo
. If varinfo
is a local or a formal argument of fundec
, then returns Some fundec
. If varinfo
is a global or a function itself, then returns None
.
val original_names : string VarinfoH.t Lazy.t
val find_original_name : VarinfoH.key -> string option
Find the original name (in input source code) of the varinfo
. If it was renamed by CIL, then returns the original name before renaming. If it wasn't renamed by CIL, then returns the same name. If it was inserted by CIL (or Goblint), then returns None
.