forked from dafny-lang/dafny
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Semantic vs non-semantic options (dafny-lang#5397)
Fixes dafny-lang#4985 ### Description #### Main Change Options come in several flavors. Some options do not affect the correctness of the program, such as those that affect logging or performance. Other options do affects the semantics. These may be configurable per module, such as `function-syntax`, or they may be 'global', which means the value this has for a dependency affects what value it should have for the dependent, such as `unicode-char` or `allow-warnings`. Previously, options were only marked as global or not, so it was not possible to distinguish between non-semantic options and semantic options that are configurable at the module level. This PR adds registration to make that distinction, and uses that to determine which module level options to track in doo files, which fixes bugs that would occur when using non-default values for these options in combination with doo files. #### Minor changes - Fix a bug that would prevent using Doo files, due to their read stream being disposed before they were fully read. - Add a hidden option `--hidden-no-verify` that allows building doo files without verifying then, as if you had verified them. This is useful for building and committing the standard library without verifying it, which is safe because CI will still build it with verification as well. ### How has this been tested? - Added the test `semanticOptions.dfy` <small>By submitting this pull request, I confirm that my contribution is made under the terms of the [MIT license](https://github.com/dafny-lang/dafny/blob/master/LICENSE.txt).</small>
- Loading branch information
1 parent
55d1c40
commit 1cace26
Showing
44 changed files
with
235 additions
and
210 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.