package goblint

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

This is the main program!

val writeconffile : Fpath.t option Prelude.ref
val print_version : 'a -> 'b

Print version and bail.

val print_help : 'a BatInnerIO.output -> 'b

Print helpful messages.

val option_spec_list : Arg_complete.speclist Lazy.t

Arg option specification

val rest_all_complete : Arg_complete.Rest_all_compat.t Lazy.t
val complete : string list -> unit
val parse_arguments : unit -> unit

Parse arguments. Print help if needed.

val handle_flags : unit -> unit

Initialize some globals in other modules.

val basic_preprocess_counts : int Preprocessor.FpathH.t
val basic_preprocess : all_cppflags:string list -> Fpath.t -> Fpath.t * ProcessPool.task option

Use gcc to preprocess a file. Returns the path to the preprocessed file.

val preprocess_files : unit -> (Fpath.t * ProcessPool.task option) list

Preprocess all files. Return list of preprocessed files and the temp directory name.

val parse_preprocessed : (Preprocessor.FpathH.key * ProcessPool.task option) list -> GoblintCil.Cil.file list

Parse preprocessed files

val merge_parsed : GoblintCil.Cil.file list -> GoblintCil.file

Merge parsed files

val preprocess_parse_merge : unit -> GoblintCil.file
val do_stats : unit -> unit
val reset_stats : unit -> unit
val do_analyze : Analyses.increment_data -> GoblintCil.file -> unit

Perform the analysis over the merged AST.

val do_html_output : unit -> unit
val do_gobview : unit -> unit
val eprint_color : string -> unit
val check_arguments : unit -> unit
val handle_extraspecials : unit -> unit
val diff_and_rename : GoblintCil.file -> Analyses.increment_data