sig
type category = private string
val register_category : string -> category
module Category_set :
sig
type elt = category
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : (elt -> unit) -> t -> unit
val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val filter : (elt -> bool) -> t -> t
val partition : (elt -> bool) -> t -> t * t
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> t * bool * t
end
val get_category : string -> Category_set.t
val get_all_categories : unit -> Category_set.t
val verbose_atleast : int -> bool
val debug_atleast : int -> bool
val add_debug_keys : Category_set.t -> unit
val del_debug_keys : Category_set.t -> unit
val get_debug_keys : unit -> Category_set.t
val is_debug_key_enabled : category -> bool
val get_debug_keyset : unit -> category list
val result : ?level:int -> ?dkey:category -> 'a Log.pretty_printer
val feedback : ?level:int -> ?dkey:category -> 'a Log.pretty_printer
val debug : ?level:int -> ?dkey:category -> 'a Log.pretty_printer
val warning : 'a Log.pretty_printer
val error : 'a Log.pretty_printer
val abort : ('a, 'b) Log.pretty_aborter
val failure : 'a Log.pretty_printer
val fatal : ('a, 'b) Log.pretty_aborter
val verify : bool -> ('a, bool) Log.pretty_aborter
val not_yet_implemented : ('a, Format.formatter, unit, 'b) format4 -> 'a
val deprecated : string -> now:string -> ('a -> 'b) -> 'a -> 'b
val with_result : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val with_warning : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val with_error : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val with_failure : (Log.event -> 'b) -> ('a, 'b) Log.pretty_aborter
val log :
?kind:Log.kind -> ?verbose:int -> ?debug:int -> 'a Log.pretty_printer
val with_log :
(Log.event -> 'b) -> ?kind:Log.kind -> ('a, 'b) Log.pretty_aborter
val register : Log.kind -> (Log.event -> unit) -> unit
val register_tag_handlers : (string -> string) * (string -> string) -> unit
val add_group : ?memo:bool -> string -> Plugin.group
module Help : Plugin.Bool
module Verbose : Plugin.Int
module Debug : Plugin.Int
module Debug_category : Plugin.String_set
module Share :
sig
exception No_dir
val dir : ?error:bool -> unit -> string
val file : ?error:bool -> string -> string
end
val help : Plugin.group
val messages : Plugin.group
val parameters : unit -> Parameter.t list
module PrintVersion : Plugin.Bool
module PrintShare : Plugin.Bool
module PrintLib : Plugin.Bool
module PrintPluginPath : Plugin.Bool
module GeneralVerbose : Plugin.Int
module GeneralDebug : Plugin.Int
module Quiet : Plugin.Bool
module Unicode :
sig
type t = bool
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val on : unit -> unit
val off : unit -> unit
val without_unicode : ('a -> 'b) -> 'a -> 'b
end
module UseUnicode : Plugin.Bool
module Time : Plugin.String
module Collect_messages : Plugin.Bool
module PrintCode : Plugin.Bool
module PrintComments : Plugin.Bool
module CodeOutput :
sig
type t = string
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
val output : (Format.formatter -> unit) -> unit
end
module FloatNormal : Plugin.Bool
module FloatRelative : Plugin.Bool
module FloatHex : Plugin.Bool
module BigIntsHex : Plugin.Int
module SaveState : Plugin.String
module LoadState : Plugin.String
module AddPath : Plugin.String_list
module LoadModule : Plugin.String_set
module LoadScript : Plugin.String_set
module Dynlink : Plugin.Bool
module Journal :
sig module Enable : Plugin.Bool module Name : Plugin.String end
module UnrollingLevel : Plugin.Int
module Machdep : Plugin.String
module Enums : Plugin.String
module CppCommand : Plugin.String
module CppExtraArgs : Plugin.String_list
module ReadAnnot : Plugin.Bool
module PreprocessAnnot : Plugin.Bool
module TypeCheck : Plugin.Bool
module ContinueOnAnnotError : Plugin.Bool
module SimplifyCfg : Plugin.Bool
module KeepSwitch : Plugin.Bool
module Keep_unused_specified_functions : Plugin.Bool
module Constfold : Plugin.Bool
module InitializedPaddingLocals : Plugin.Bool
module Files :
sig
type t = string list
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val unsafe_set : t -> unit
val add : string -> unit
val remove : string -> unit
val is_empty : unit -> bool
val get_set : ?sep:string -> unit -> string
val iter : (string -> unit) -> unit
val fold : (string -> 'a -> 'a) -> 'a -> 'a
val exists : (string -> bool) -> bool
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
module Check : Plugin.Bool
module Copy : Plugin.Bool
module Orig_name : Plugin.Bool
end
val normalization_parameters : Parameter.t list
module WarnDecimalFloat : Plugin.String
module WarnUndeclared : Plugin.Bool
module AllowDuplication : Plugin.Bool
module DoCollapseCallCast : Plugin.Bool
module ForceRLArgEval : Plugin.Bool
module MainFunction :
sig
type t = string
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val set_possible_values : string list -> unit
val get_possible_values : unit -> string list
val unsafe_set : t -> unit
end
module LibEntry :
sig
type t = bool
val parameter : Parameter.t
val set : t -> unit
val add_set_hook : (t -> t -> unit) -> unit
val add_update_hook : (t -> t -> unit) -> unit
val get : unit -> t
val clear : unit -> unit
val is_default : unit -> bool
val option_name : string
val print_help : Format.formatter -> unit
val self : State.t
val name : string
val mark_as_computed : ?project:Project.t -> unit -> unit
val is_computed : ?project:Project.t -> unit -> bool
module Datatype : Datatype.S
val add_hook_on_update : (Datatype.t -> unit) -> unit
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
val equal : t -> t -> bool
val add_aliases : string list -> unit
val add_alias : string list -> unit
val is_set : unit -> bool
val on : unit -> unit
val off : unit -> unit
val unsafe_set : t -> unit
end
module UnspecifiedAccess : Plugin.Bool
module SafeArrays : Plugin.Bool
module SignedOverflow : Plugin.Bool
module UnsignedOverflow : Plugin.Bool
module SignedDowncast : Plugin.Bool
module UnsignedDowncast : Plugin.Bool
module AbsoluteValidRange : Plugin.String
end