diff --git a/src/kernel_services/ast_queries/file.ml b/src/kernel_services/ast_queries/file.ml index 356d822f8d2ce918a5f55d998e6185980a2215b4..eacf1fbb240e999cc00e420f86d124949860c1f8 100644 --- a/src/kernel_services/ast_queries/file.ml +++ b/src/kernel_services/ast_queries/file.ml @@ -604,11 +604,11 @@ let () = -(** Keep defined entry point even if not defined, and possibly the functions - with only specifications (according to parameter - keep_unused_specified_function). This function is meant to be passed to - {!Rmtmps.removeUnused}. *) -let keep_entry_point ?(specs=Kernel.Keep_unused_specified_functions.get ()) g = +(* Keep defined entry point even if not defined, and possibly + other unused globals according to relevant command-line parameters. + This function is meant to be passed to {!Rmtmps.removeUnused}. *) +let isRoot g = + let specs = Kernel.Keep_unused_specified_functions.get () in let keepTypes = Kernel.Keep_unused_types.get () in Rmtmps.isExportedRoot g || match g with @@ -1099,7 +1099,7 @@ let prepare_cil_file ast = Transform_before_cleanup.apply ast; (* Remove unused temp variables and globals. *) Kernel.feedback ~level:2 "cleaning unused parts"; - Rmtmps.removeUnused ~isRoot:keep_entry_point ast; + Rmtmps.removeUnused ~isRoot ast; if Kernel.Check.get () then begin Filecheck.check_ast ~is_normalized:false ~ast "Removed temp vars" end;