From 038715b8916a1d5b1e22513eb8f22a42456efeb3 Mon Sep 17 00:00:00 2001 From: Julien Signoles <julien.signoles@cea.fr> Date: Mon, 3 Aug 2020 11:59:26 +0200 Subject: [PATCH] [e-acsl] restore -remove-unused-specified-functions --- src/plugins/e-acsl/scripts/e-acsl-gcc.sh | 4 +++- src/plugins/e-acsl/src/project_initializer/prepare_ast.ml | 4 ---- src/plugins/e-acsl/src/project_initializer/rtl.ml | 3 +-- src/plugins/e-acsl/tests/test_config_ci.in | 2 +- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/plugins/e-acsl/scripts/e-acsl-gcc.sh b/src/plugins/e-acsl/scripts/e-acsl-gcc.sh index 3038810fbf9..aeb097a74df 100755 --- a/src/plugins/e-acsl/scripts/e-acsl-gcc.sh +++ b/src/plugins/e-acsl/scripts/e-acsl-gcc.sh @@ -754,7 +754,9 @@ CPPFLAGS="$OPTION_CPPFLAGS" LDFLAGS="$OPTION_LDFLAGS" # Extra Frama-C Flags E-ACSL needs -FRAMAC_FLAGS="$FRAMAC_FLAGS -variadic-no-translation" +FRAMAC_FLAGS="$FRAMAC_FLAGS \ + -remove-unused-specified-functions \ + -variadic-no-translation" # C, CPP and LD flags for compilation of E-ACSL-generated sources EACSL_CFLAGS="$OPTION_EXTERNAL_ASSERT" diff --git a/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml b/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml index 5324a4ffd3b..2c2c73e7cb7 100644 --- a/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml +++ b/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml @@ -482,10 +482,6 @@ class prepare_visitor = object (self) [ new_decl; g ] | _ -> assert false) - | GVarDecl(vi, _loc) | GFunDecl(_, vi, _loc) | GFun({ svar = vi }, _loc) - when Misc.is_fc_or_compiler_builtin vi -> - Cil.DoChildren - | _ -> Cil.DoChildren diff --git a/src/plugins/e-acsl/src/project_initializer/rtl.ml b/src/plugins/e-acsl/src/project_initializer/rtl.ml index 71e4991ff8b..2a6e9673773 100644 --- a/src/plugins/e-acsl/src/project_initializer/rtl.ml +++ b/src/plugins/e-acsl/src/project_initializer/rtl.ml @@ -34,8 +34,7 @@ let create_rtl_ast prj = Project.on prj (fun () -> - (* compute the RTL AST in the same settings as the user source code. - Modifying these settings purposely kills the current AST (if any) *) + (* compute the RTL AST in the standard E-ACSL setting *) if Plugin.is_present "variadic" then Dynamic.Parameter.Bool.off "-variadic-translation" (); Kernel.Keep_unused_specified_functions.off (); diff --git a/src/plugins/e-acsl/tests/test_config_ci.in b/src/plugins/e-acsl/tests/test_config_ci.in index 0a68607fc71..2530bfd855a 100644 --- a/src/plugins/e-acsl/tests/test_config_ci.in +++ b/src/plugins/e-acsl/tests/test_config_ci.in @@ -1,7 +1,7 @@ MACRO: DEST @PTEST_RESULT@/gen_@PTEST_NAME@ MACRO: MACHDEP -machdep gcc_x86_64 MACRO: EACSL_PREPARE -e-acsl-prepare -e-acsl-share ./share/e-acsl -MACRO: GLOBAL @MACHDEP@ -variadic-no-translation -verbose 0 +MACRO: GLOBAL @MACHDEP@ -remove-unused-specified-functions -variadic-no-translation -verbose 0 MACRO: EACSL -e-acsl -e-acsl-share ./share/e-acsl -e-acsl-verbose 1 MACRO: EVA -eva -eva-no-alloc-returns-null -eva-no-results -eva-no-print -eva-warn-key libc:unsupported-spec=inactive MACRO: EVENTUALLY -print -ocode @DEST@.c -load-script ./tests/print.cmxs -- GitLab