GoblintCil.Feature
Extending 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 -> unit
Register a feature to be used by CIL. Feature name must be unique.
val list_registered : unit -> t list
List registered features.
val find : string -> t
Find 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.