@@ -192,13 +192,20 @@ let only_compil_new =
192192 ~doc:
193193 " (experimental) Only parses & compiles files that have been changed." )
194194
195+ let no_local_var =
196+ Arg. (
197+ value & flag
198+ & info [ " no-local-var" ]
199+ ~doc: " (experimental) Does not use local vars to encode C assignments." )
200+
195201let mlang_t f =
196202 Term. (
197203 const f $ files $ applications $ without_dgfip_m $ debug $ stats
198204 $ var_info_debug $ display_time $ dep_graph_file $ no_print_cycles $ backend
199205 $ output $ run_all_tests $ dgfip_test_filter $ run_test $ mpp_function
200206 $ optimize_unsafe_float $ precision $ roundops $ comparison_error_margin_cli
201- $ income_year_cli $ m_clean_calls $ dgfip_options $ only_compil_new)
207+ $ income_year_cli $ m_clean_calls $ dgfip_options $ only_compil_new
208+ $ no_local_var)
202209
203210let info =
204211 let doc =
@@ -288,6 +295,8 @@ let round_ops = ref RODefault
288295
289296let only_compile_new = ref false
290297
298+ let no_local_var = ref false
299+
291300(* Default value for the epsilon slack when comparing things in the
292301 interpreter *)
293302let comparison_error_margin = ref 0.000001
@@ -301,7 +310,7 @@ let set_all_arg_refs (files_ : string list) applications_
301310 (output_file_ : string option ) (optimize_unsafe_float_ : bool )
302311 (m_clean_calls_ : bool ) (comparison_error_margin_ : float option )
303312 (income_year_ : int option ) (value_sort_ : value_sort )
304- (round_ops_ : round_ops ) (only_compile_new_ : bool ) =
313+ (round_ops_ : round_ops ) (only_compile_new_ : bool ) ( no_local_var_ : bool ) =
305314 source_files := files_;
306315 application_names := applications_;
307316 without_dgfip_m := without_dgfip_m_;
@@ -321,6 +330,7 @@ let set_all_arg_refs (files_ : string list) applications_
321330 value_sort := value_sort_;
322331 round_ops := round_ops_;
323332 only_compile_new := only_compile_new_;
333+ no_local_var := no_local_var_;
324334 match output_file_ with
325335 | None -> ()
326336 | Some o -> (
0 commit comments