Mark rethrow_located as [[noreturn]] #3059
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.
Submission Checklist
./runTests.py src/test/unit
make cpplint
Summary
Marks
rethrow_located
as never returning using the noreturn attribute. This should allow us to simplify the existing code generation in stanc3, as currently we generate this code:This should make that extra
throw
unnecessary.Intended Effect
Let the compiler know that rethrow_located will never return
How to Verify
I've tested this in a local cmdstan instance, though I was not able to get the error described in the comment to appear, with or without this change.
Side Effects
None
Documentation
None
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
Simons Foundation
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses: