aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Parse.mli
diff options
context:
space:
mode:
authorXavier Leroy <xavierleroy@users.noreply.github.com>2022-11-09 17:55:28 +0100
committerGitHub <noreply@github.com>2022-11-09 17:55:28 +0100
commitabe1f24dfb2b1b67dfeeaf3513e6d3d534f7df32 (patch)
tree2befd6d99593d99f1d0fd0ef520dd8bce0ebf86e /cparser/Parse.mli
parente637a49e7a963683a4337b742c0adc0e1f93f139 (diff)
parent5a9f24b4e739b6ef830f526845dd4d1557d0adee (diff)
downloadcompcert-abe1f24dfb2b1b67dfeeaf3513e6d3d534f7df32.tar.gz
compcert-abe1f24dfb2b1b67dfeeaf3513e6d3d534f7df32.zip
Merge pull request #459 from AbsInt/full-switch
Handle Duff's device and other unstructured `switch` statements
Diffstat (limited to 'cparser/Parse.mli')
-rw-r--r--cparser/Parse.mli18
1 files changed, 13 insertions, 5 deletions
diff --git a/cparser/Parse.mli b/cparser/Parse.mli
index c406d96c..a37bd0e0 100644
--- a/cparser/Parse.mli
+++ b/cparser/Parse.mli
@@ -16,8 +16,16 @@
(* Entry point for the library: parse, elaborate, and transform *)
-val preprocessed_file: string -> string -> string -> C.program
-
-(* first arg: desired transformations
- second arg: source file name before preprocessing
- third arg: file after preprocessing *)
+val preprocessed_file:
+ ?unblock: bool ->
+ ?switch_norm: [`Off | `Partial | `Full] ->
+ ?struct_passing: bool ->
+ ?packed_structs: bool ->
+ string -> string -> C.program
+ (** [preprocessed_file filename sourcetext] performs parsing,
+ elaboration, and optional source-to-source transformations.
+ [filename] is the name of the source file, for error messages.
+ [sourcetext] is the text of the source file after preprocessing.
+ The optional arguments indicate which source-to-source
+ transformations to perform. They default to [false] or [`Off]
+ (do not perform). *)