package frama-c
Source file options.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77(**************************************************************************) (* *) (* This file is part of Frama-C. *) (* *) (* Copyright (C) 2007-2025 *) (* 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). *) (* *) (**************************************************************************) include Plugin.Register (struct let name = "impact" let shortname = "impact" let help = "impact analysis" end) module Annot = Kernel_function_set (struct let option_name = "-impact-annot" let arg_name = "f1, ..., fn" let help = "use the impact annotations in the code of functions f1,...,fn" end) let () = Annot.add_aliases ~visible:false ~deprecated:true ["-impact-pragma"] module Print = False (struct let option_name = "-impact-print" let help = "print the impacted stmt" end) module Reason = False (struct let option_name = "-impact-graph" let help = "build a graph that explains why a statement is in the set \ of impacted nodes" end) module Slicing = False (struct let option_name = "-impact-slicing" let help = "slice from the impacted stmt" end) module Skip = String_set (struct let arg_name = "v1,...,vn" let help = "consider that those variables are not impacted" let option_name = "-impact-skip" end) let () = Parameter_customize.set_negative_option_name "-impact-not-in-callers" module Upward = True (struct let option_name = "-impact-in-callers" let help = "compute compute impact in callers as well as in callees" end) let is_on () = not (Annot.is_empty ())