sig
  val register_ignore_pure_exp_hook :
    (string -> Cil_types.location -> Cil_types.exp -> unit) -> unit
  val convFile : Cabs.file -> Cil_types.file
  val forceRLArgEval : bool Pervasives.ref
  val nocil : int Pervasives.ref
  val allowDuplication : bool Pervasives.ref
  val typeForInsertedVar : (Cil_types.typ -> Cil_types.typ) Pervasives.ref
  val typeForInsertedCast :
    (Cil_types.exp -> Cil_types.typ -> Cil_types.typ -> Cil_types.typ)
    Pervasives.ref
  val fresh_global : string -> string
  val prefix : string -> string -> bool
  val annonCompFieldName : string
  val logicConditionalConversion :
    Cil_types.typ -> Cil_types.typ -> Cil_types.typ
  val arithmeticConversion : Cil_types.typ -> Cil_types.typ -> Cil_types.typ
  val integralPromotion : Cil_types.typ -> Cil_types.typ
  type local_env = private {
    authorized_reads : Cilutil.LvalSet.t;
    known_behaviors : string list;
    is_ghost : bool;
  }
  val empty_local_env : Cabs2cil.local_env
  val ghost_local_env : bool -> Cabs2cil.local_env
  val blockInitializer :
    Cabs2cil.local_env ->
    Cil_types.varinfo ->
    Cabs.init_expression -> Cil_types.block * Cil_types.init * Cil_types.typ
  val blockInit :
    Cil_types.lval -> Cil_types.init -> Cil_types.typ -> Cil_types.block
  val mkAddrOfAndMark : Cil_types.lval -> Cil_types.exp
  val setDoTransformWhile : unit -> unit
  val setDoAlternateConditional : unit -> unit
end