Skip to content

Fix FrontC and Cabs2cil partial application#116

Merged
sim642 merged 1 commit intodevelopfrom
parse-partial
Sep 29, 2022
Merged

Fix FrontC and Cabs2cil partial application#116
sim642 merged 1 commit intodevelopfrom
parse-partial

Conversation

@sim642
Copy link
Copy Markdown
Member

@sim642 sim642 commented Sep 29, 2022

Documentation promises partial application just does FrontC and returned closure does Cabs2cil:

(* the main command to parse a file. Return a thunk that can be used to
convert the AST to CIL. *)
val parse: string -> (unit -> Cil.file)
val parse_with_cabs: string -> (unit -> Cabs.file * Cil.file)

However, this was implemented incorrectly: parse_helper wasn't partially applied immediately, but only when fully applied and then did both together.

This will allow Goblint to have an improved Stats module while still measuring the two phases separately.

Documentation promises partial application just does FrontC and returned closure does Cabs2cil.
@sim642 sim642 merged commit 673aa00 into develop Sep 29, 2022
@sim642 sim642 deleted the parse-partial branch September 29, 2022 13:46
@sim642 sim642 added this to the 2.0.1 milestone Nov 21, 2022
sim642 added a commit to sim642/opam-repository that referenced this pull request Nov 23, 2022
CHANGES:

* Fix scope of enum definition in return type (goblint/cil#112, goblint/cil#113).
* Fix signed integer left shift constant folding overflow (goblint/cil#122, goblint/cil#123).
* Fix `fitsInInt` for booleans (goblint/cil#111).
* Mark more loop statement locations synthetic (goblint/cil#125).
* Optimize integer truncation (goblint/cil#115).
* Fix FrontC and Cabs2cil partial application (goblint/cil#116).
* Fix external usage of `freshLabel` (goblint/cil#121).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants