sig
  val voidType : Cil_types.typ
  module CurrentLoc :
    sig
      val self : State.t
      val name : string
      val kind : State.kind
      val mark_as_computed : ?project:Project.t -> unit -> unit
      val is_computed : ?project:Project.t -> unit -> bool
      module Datatype : 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
        val self : State.t
      end
  module Vid :
    sig
      val next : unit -> int
      val reset : unit -> unit
      val get : unit -> int
      val self : State.t
    end
  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