Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chisel3 exception handling #361

Closed
ucbjrl opened this issue Nov 10, 2016 · 5 comments
Closed

chisel3 exception handling #361

ucbjrl opened this issue Nov 10, 2016 · 5 comments
Assignees
Milestone

Comments

@ucbjrl
Copy link
Contributor

ucbjrl commented Nov 10, 2016

We should have a top-level exception handler in chisel3. It should report accumulated errors and warnings before exiting.

@aswaterman
Copy link
Member

To the extent that we can continue executing past errors, so that we can report as many errors as possible without exiting, I agree. But in the unresumable case, the stack trace is helpful, so the top-level exception handler should still print it.

@ducky64
Copy link
Contributor

ducky64 commented Dec 15, 2016

So once an exception is thrown and it reaches the top level handler, can you actually resume from where the exception was thrown?
(under the assumption that the exception is non-fatal to the current pass, and where the possibility for more similar exceptions exist)

@ducky64
Copy link
Contributor

ducky64 commented Feb 6, 2017

Resolution: place a "top-level" exception handler in (or around) Driver.elaborate, which just prints out the error (with a stack track) along with other non-fatal errors.

@ducky64 ducky64 added this to the 3.1.0 milestone Nov 8, 2017
@ducky64 ducky64 modified the milestones: 3.1.0, 3.2.0 Dec 13, 2017
@ucbjrl ucbjrl modified the milestones: 3.2.0, 3.X Jan 10, 2019
@ucbjrl
Copy link
Contributor Author

ucbjrl commented Jan 10, 2019

To do this correctly will require significant restructuring of the code in order to avoid reporting the same error multiple times. I'm submitting a PR that demonstrates a simple (naive) solution, but marking it DO NOT MERGE. We should discuss this at a development meeting, but for the moment I'm bumping the milestone.

@jackkoenig
Copy link
Contributor

This is resolved via Stage/Phase in Chisel 3.3.

mwachs5 pushed a commit that referenced this issue Dec 29, 2022
Excluding Chisel version 3.2 through 3.4 where the ScalaDoc included in
the public jars is not the unidoc and thus is split between the
subprojects. We still host the unidoc for the latest of those major
versions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants