diff options
author | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2022-09-27 12:04:31 +0200 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2022-09-27 12:04:31 +0200 |
commit | efc51afc7c8298ecd3b511b8d0faf9ff6d2df22e (patch) | |
tree | 232bf0f11a5fbc6a8f1c219f1234fad452a38b80 /driver/Frontend.ml | |
parent | a1f01c844aaa0ff41aa9095e9d5d01606a0e90c9 (diff) | |
download | compcert-efc51afc7c8298ecd3b511b8d0faf9ff6d2df22e.tar.gz compcert-efc51afc7c8298ecd3b511b8d0faf9ff6d2df22e.zip |
Revised passing of options to `Parse.preprocessed_file`
Instead of passing a string that encodes the optional source-to-source
transformations to perform, just pass one optional, named argument for
each transformation. It is clearer and easier to extend this way.
Diffstat (limited to 'driver/Frontend.ml')
-rw-r--r-- | driver/Frontend.ml | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/driver/Frontend.ml b/driver/Frontend.ml index 5d45306d..5132f730 100644 --- a/driver/Frontend.ml +++ b/driver/Frontend.ml @@ -79,14 +79,12 @@ let parse_c_file sourcename ifile = Debug.init_compile_unit sourcename; Sections.initialize(); CPragmas.reset(); - (* Simplification options *) - let simplifs = - "b" (* blocks: mandatory *) - ^ (if !option_fstruct_passing then "s" else "") - ^ (if !option_fpacked_structs then "p" else "") - in (* Parsing and production of a simplified C AST *) - let ast = Parse.preprocessed_file simplifs sourcename ifile in + let ast = Parse.preprocessed_file + ~unblock: true + ~struct_passing: !option_fstruct_passing + ~packed_structs: !option_fpacked_structs + sourcename ifile in (* Save C AST if requested *) Cprint.print_if ast; (* Conversion to Csyntax *) |