sig
val warn_once : ('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
val log_once : ('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
val update_gotos :
Cil_types.stmt Cilutil.StmtMap.t -> Cil_types.block -> Cil_types.block
type syntactic_context =
SyNone
| SyBinOp of Cil_types.binop * Cil_types.exp * Cil_types.exp
| SyUnOp of Cil_types.exp
| SyMem of Cil_types.lval
| SySep of Cil_types.exp * Cil_types.exp
val start_stmt : Cil_types.kinstr -> unit
val end_stmt : unit -> unit
val current_stmt : unit -> Cil_types.kinstr
val set_syntactic_context : CilE.syntactic_context -> unit
val get_syntactic_context :
unit -> Cil_types.kinstr * CilE.syntactic_context
type alarm_behavior = Aignore | Alog | Acall of (unit -> unit)
type warn_mode = {
unspecified : CilE.alarm_behavior;
others : CilE.alarm_behavior;
imprecision_tracing : CilE.alarm_behavior;
}
val warn_all_mode : CilE.warn_mode
val warn_none_mode : CilE.warn_mode
val warn_div : CilE.warn_mode -> unit
val warn_shift : CilE.warn_mode -> int -> unit
val warn_mem_read : CilE.warn_mode -> unit
val warn_mem_write : CilE.warn_mode -> unit
val warn_signed_overflow :
CilE.warn_mode -> Cil_types.exp -> Int64.t -> Int64.t -> unit
val warn_index : CilE.warn_mode -> string -> unit
val warn_pointer_comparison : CilE.warn_mode -> unit
val warn_result_nan_infinite : CilE.warn_mode -> unit
val warn_uninitialized : CilE.warn_mode -> unit
val warn_escapingaddr : CilE.warn_mode -> unit
val warn_separated : CilE.warn_mode -> unit
end