package goblint-cil

  1. Overview
  2. Docs
A front-end for the C programming language that facilitates program analysis and transformation

Install

Dune Dependency

Authors

Maintainers

Sources

goblint-cil-2.0.6.tbz
sha256=5577007bfac63c3f0609abdb74119fe674c9bc8529d790e90ef73a85964aa07a
sha512=f1a393fa92614ceaf857bec4df474d3e152c578d0ab5fdf791e9129668861ccaa37efae2f18aa539965d6c2ed4dabb47b4a5262aab55112e181935def06f18da

doc/goblint-cil/GoblintCil/Feature/index.html

Module GoblintCil.FeatureSource

Extending CIL with external features

Sourcetype t = {
  1. mutable fd_enabled : bool;
    (*

    The enable flag. Set to default value

    *)
  2. fd_name : string;
    (*

    This is used to construct an option "--doxxx" and "--dontxxx" that enable and disable the feature

    *)
  3. fd_description : string;
    (*

    A longer name that can be used to document the new options

    *)
  4. 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.

    *)
  5. fd_doit : Cil.file -> unit;
    (*

    This performs the transformation

    *)
  6. 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.

Sourceval register : t -> unit

Register a feature to be used by CIL. Feature name must be unique.

Sourceval list_registered : unit -> t list

List registered features.

Sourceval registered : string -> bool

Check if a given feature is registered.

Sourceval find : string -> t

Find a feature by name. Raise Not_found if the feature is not registered.

Sourceval enable : string -> unit

Enable a given feature, by name. Raise Errormsg.Error if the feature is not registered.

Sourceval enabled : string -> bool

Check if a given feature is enabled. Return false if the feature is not registered.

OCaml

Innovation. Community. Security.