From 23ad1517a404d9c1e919904b34c7405c0595c691 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr> Date: Fri, 12 Jun 2020 14:55:31 +0200 Subject: [PATCH] [Eva] Exported function [use_builtin] raises Not_found on unknown builtins. --- src/plugins/value/Eva.mli | 5 +++-- src/plugins/value/value_parameters.ml | 8 ++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/plugins/value/Eva.mli b/src/plugins/value/Eva.mli index a2f023223cc..4de6198ed1a 100644 --- a/src/plugins/value/Eva.mli +++ b/src/plugins/value/Eva.mli @@ -36,8 +36,9 @@ module Value_parameters: sig (** Returns the list (name, descr) of currently enabled abstract domains. *) val enabled_domains: unit -> (string * string) list - (** [use_builtin kf b] adds a builtin override for function [kf] to - builtin {!b}. *) + (** [use_builtin kf name] instructs the analysis to use the builtin [name] + to interpret calls to function [kf]. + Raises [Not_found] if there is no builtin of name [name]. *) val use_builtin: Cil_types.kernel_function -> string -> unit end diff --git a/src/plugins/value/value_parameters.ml b/src/plugins/value/value_parameters.ml index cbbdd4865a7..5d65b1fc3ea 100644 --- a/src/plugins/value/value_parameters.ml +++ b/src/plugins/value/value_parameters.ml @@ -941,8 +941,12 @@ module BuiltinsOverrides = end) let () = add_precision_dep BuiltinsOverrides.parameter let () = BuiltinsOverrides.add_aliases ["-val-builtin"] -let use_builtin key value = - BuiltinsOverrides.add (key, Some value) + +(* Exported in Eva.mli. *) +let use_builtin key name = + if !Db.Value.mem_builtin name + then BuiltinsOverrides.add (key, Some name) + else raise Not_found let () = Parameter_customize.set_group precision_tuning module BuiltinsAuto = -- GitLab