(**************************************************************************) (* *) (* This file is part of Frama-C. *) (* *) (* Copyright (C) 2007-2022 *) (* CEA (Commissariat à l'énergie atomique et aux énergies *) (* alternatives) *) (* *) (* you can redistribute it and/or modify it under the terms of the GNU *) (* Lesser General Public License as published by the Free Software *) (* Foundation, version 2.1. *) (* *) (* It is distributed in the hope that it will be useful, *) (* but WITHOUT ANY WARRANTY; without even the implied warranty of *) (* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *) (* GNU Lesser General Public License for more details. *) (* *) (* See the GNU Lesser General Public License version 2.1 *) (* for more details (enclosed in the file licenses/LGPLv2.1). *) (* *) (**************************************************************************) open Cil_types (** What is used for the analysis of a given function: - a Cvalue builtin (and other domains use the specification) - the function specification - the function body. The boolean indicates whether the resulting states must be recorded at each statement of this function. *) type analysis_target = [ `Builtin of string * Builtins.builtin * Eval.cacheable * funspec | `Spec of Cil_types.funspec | `Def of Cil_types.fundec * bool ] (** Define the analysis target of a function according to Eva parameters. Also registers the call in tables for the functions below. *) val define_analysis_target: ?recursion_depth:int -> kinstr -> kernel_function -> analysis_target