sig
  val voidType : Cil_types.typ
  module CurrentLoc :
    sig
      val self : Project.Computation.t
      val select :
        Kind.how ->
        Project.Computation.selection -> Project.Computation.selection
      val depend : Project.Computation.t -> unit
      val name : string
      val mark_as_computed : ?project:Project.project -> unit -> unit
      val is_computed : ?project:Project.project -> unit -> bool
      val do_not_save : unit -> unit
      module Datatype : Project.Datatype.S
      val howto_marshal : (Datatype.t -> 'a) -> ('-> Datatype.t) -> unit
      type data = Cil_types.location
      val set : data -> unit
      val get : unit -> data
      val clear : unit -> unit
    end
  val d_loc : Format.formatter -> Cil_types.location -> unit
  val d_thisloc : Format.formatter -> unit
  val error : ('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
  val fatal : ('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
  module Build_Counter :
    functor (Name : sig val name : string end->
      sig
        val next : unit -> int
        val reset : unit -> unit
        val get : unit -> int
      end
  val varinfo_from_vid : int -> Cil_types.varinfo
  val varinfos_self : Project.Computation.t
  val set_vid : Cil_types.varinfo -> unit
  val copy_with_new_vid : Cil_types.varinfo -> Cil_types.varinfo
  val new_raw_id : unit -> int
  val make_logic_var : string -> Cil_types.logic_type -> Cil_types.logic_var
  val make_logic_info : string -> Cil_types.logic_info
end