From b2df74b1046ed578a0328bb476097e75f6fdbeb2 Mon Sep 17 00:00:00 2001 From: Allan Blanchard <allan.blanchard@cea.fr> Date: Thu, 12 Nov 2020 08:33:46 +0100 Subject: [PATCH] [kernel] New warning category for multiple froms --- src/kernel_internals/parsing/logic_parser.mly | 2 +- src/kernel_services/plugin_entry_points/kernel.ml | 2 ++ src/kernel_services/plugin_entry_points/kernel.mli | 2 ++ tests/rte/oracle/assign5.res.oracle | 6 ++++-- tests/syntax/oracle/multiple_froms.res.oracle | 6 ++++-- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/kernel_internals/parsing/logic_parser.mly b/src/kernel_internals/parsing/logic_parser.mly index c907f613247..8a41fe69f4f 100644 --- a/src/kernel_internals/parsing/logic_parser.mly +++ b/src/kernel_internals/parsing/logic_parser.mly @@ -143,7 +143,7 @@ List.(for_all (fun e -> exists (is_same_lexpr e) lin) l) in let drop d k = - Kernel.warning ~current:false + Kernel.warning ~current:false ~wkey:Kernel.wkey_multi_from "Drop '%a' \\from at %a for more precise one at %a" Logic_print.print_lexpr curloc Cil_datatype.Location.pretty d.lexpr_loc diff --git a/src/kernel_services/plugin_entry_points/kernel.ml b/src/kernel_services/plugin_entry_points/kernel.ml index 0ddeab5c75a..27e2b1cd3fe 100644 --- a/src/kernel_services/plugin_entry_points/kernel.ml +++ b/src/kernel_services/plugin_entry_points/kernel.ml @@ -185,6 +185,8 @@ let wkey_no_proto = register_warn_category "typing:no-proto" let wkey_missing_spec = register_warn_category "annot:missing-spec" +let wkey_multi_from = register_warn_category "annot:multi-from" + let wkey_decimal_float = register_warn_category "parser:decimal-float" let () = set_warn_status wkey_decimal_float Log.Wonce diff --git a/src/kernel_services/plugin_entry_points/kernel.mli b/src/kernel_services/plugin_entry_points/kernel.mli index f62ba3b05e3..c6ffe271274 100644 --- a/src/kernel_services/plugin_entry_points/kernel.mli +++ b/src/kernel_services/plugin_entry_points/kernel.mli @@ -175,6 +175,8 @@ val wkey_no_proto: warn_category val wkey_missing_spec: warn_category +val wkey_multi_from: warn_category + val wkey_decimal_float: warn_category val wkey_acsl_extension: warn_category diff --git a/tests/rte/oracle/assign5.res.oracle b/tests/rte/oracle/assign5.res.oracle index 2b943239fac..52d1def1f07 100644 --- a/tests/rte/oracle/assign5.res.oracle +++ b/tests/rte/oracle/assign5.res.oracle @@ -1,6 +1,8 @@ [kernel] Parsing tests/rte/assign5.c (with preprocessing) -[kernel] Warning: Drop '*p' \from at tests/rte/assign5.c:9 for more precise one at tests/rte/assign5.c:10 -[kernel] Warning: Drop '*p' \from at tests/rte/assign5.c:19 for more precise one at tests/rte/assign5.c:18 +[kernel:annot:multi-from] Warning: + Drop '*p' \from at tests/rte/assign5.c:9 for more precise one at tests/rte/assign5.c:10 +[kernel:annot:multi-from] Warning: + Drop '*p' \from at tests/rte/assign5.c:19 for more precise one at tests/rte/assign5.c:18 [rte] annotating function main /* Generated by Frama-C */ /*@ assigns *p; diff --git a/tests/syntax/oracle/multiple_froms.res.oracle b/tests/syntax/oracle/multiple_froms.res.oracle index a7738a18dbf..b90f4dc55f6 100644 --- a/tests/syntax/oracle/multiple_froms.res.oracle +++ b/tests/syntax/oracle/multiple_froms.res.oracle @@ -1,6 +1,8 @@ [kernel] Parsing tests/syntax/multiple_froms.i (no preprocessing) -[kernel] Warning: Drop 'b' \from at tests/syntax/multiple_froms.i:9 for more precise one at tests/syntax/multiple_froms.i:10 -[kernel] Warning: Drop 'a' \from at tests/syntax/multiple_froms.i:7 for more precise one at tests/syntax/multiple_froms.i:6 +[kernel:annot:multi-from] Warning: + Drop 'b' \from at tests/syntax/multiple_froms.i:9 for more precise one at tests/syntax/multiple_froms.i:10 +[kernel:annot:multi-from] Warning: + Drop 'a' \from at tests/syntax/multiple_froms.i:7 for more precise one at tests/syntax/multiple_froms.i:6 /* Generated by Frama-C */ int a; int b; -- GitLab