Fix error message printing from Emit #791
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Correctly handle exceptions raised during
Emit.end_assembly
and not only duringEmit.funcdecl
.When compiling a function that results in a large frame (for the current frametable format), we were getting unhelpful error messages that look like this:
With this PR, we will get a slightly nicer user error like this:
(when compiling the file with -linscan).
The error handling was introduced in ocaml/ocaml#10085 for
emit_frame
(which is actually called duringEmit.end_assembly
), so this PR is also needed upstream.I'm trying to move the check itself from
emit_frame
torecord_frame_descr
, so the user error can include have a function name as intended, but this PR is independently useful, as we may want to have other user error messages in the future.