GoblintCil.FeatureExtending CIL with external features
type t = {mutable fd_enabled : bool;The enable flag. Set to default value
*)fd_name : string;This is used to construct an option "--doxxx" and "--dontxxx" that enable and disable the feature
*)fd_description : string;A longer name that can be used to document the new options
*)fd_extraopt : (string * Stdlib.Arg.spec * string) list;Additional command line options. The description strings should usually start with a space for Arg.align to print the --help nicely.
*)fd_doit : Cil.file -> unit;This performs the transformation
*)fd_post_check : bool;Whether to perform a CIL consistency checking after this stage, if checking is enabled (--check is passed to cilly). Set this to true if your feature makes any changes for the program.
*)}Description of a CIL feature.
val register : t -> unitRegister a feature to be used by CIL. Feature name must be unique.
val list_registered : unit -> t listList registered features.
val find : string -> tFind a feature by name. Raise Not_found if the feature is not registered.
Enable a given feature, by name. Raise Errormsg.Error if the feature is not registered.