diff --git a/src/plugins/slicing/slicingCmds.ml b/src/plugins/slicing/slicingCmds.ml index a549613bcff45232e21da27a3c709cae9b1b14da..f4f31d5622ae6f8614aff90945b21ee9aa54ed87 100644 --- a/src/plugins/slicing/slicingCmds.ml +++ b/src/plugins/slicing/slicingCmds.ml @@ -529,6 +529,7 @@ let select_stmt_annots set mark ~spare ~threat ~user_assert ~slicing_pragma ~lo (** Registered as a slicing selection function: Add a selection of the annotations related to a function. *) let select_func_annots set mark ~spare ~threat ~user_assert ~slicing_pragma ~loop_inv ~loop_var kf = + try let zones_decl_vars,pragmas = !Db.Properties.Interp.To_zone.from_func_annots Kinstr.iter_from_func (Some @@ -538,6 +539,13 @@ let select_func_annots set mark ~spare ~threat ~user_assert ~slicing_pragma ~loo kf in let set = select_ZoneAnnot_pragmas set ~spare pragmas kf in select_ZoneAnnot_zones_decl_vars set mark (get_or_raise zones_decl_vars) kf + with Kernel_function.No_Definition -> + SlicingParameters.warning ~wkey:SlicingParameters.wkey_cmdline + "No definition for function '%a'. \ + Slicing requests from the command line are ignored." + Kernel_function.pretty kf; + Cil_datatype.Varinfo.Map.empty + (** Registered as a slicing selection function: Add selection of function outputs.