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

Deprecate :dllimport and :handle #3399

Merged
merged 170 commits into from
Jan 24, 2023

Conversation

davidcok
Copy link
Collaborator

Fixes #2778 and recent discussion: deprecates :dllimport and :handle

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.

davidcok and others added 30 commits January 29, 2021 12:41
fabiomadge and others added 25 commits January 20, 2023 10:14
<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>

Co-authored-by: davidcok <[email protected]>
This PR integrates the functionality of the auditor plugin
(https://github.com/dafny-lang/compiler-bootstrap/tree/main/src/Tools/Auditor)
as built-in functionality exposed through the `dafny audit` command.

It also adds support for a new output format (Markdown formatted in sections
rather than a table, using IETF RFC-style language) and an option to compare
the report that would be generated with an existing file, rather than creating
that file.

By submitting this pull request, I confirm that my contribution is made
under the terms of the MIT license.
* Be more explicit about the path of the executable to invoke.
* Identify the version and set different Z3 options accordingly.

Fixes dafny-lang#2370
Enables a fix for dafny-lang#1477
Interacts with dafny-lang#1914 (which may already be fixed)

By submitting this pull request, I confirm that my contribution is made under
the terms of the MIT license.
During PR dafny-lang#2734, a refactoring of the cloner mistakenly omitted a clone
call for one sub-expression of TypeRHS, leading to issue dafny-lang#3343.

This PR reinstates that clone.

Fixes dafny-lang#3343.
This fixes integration tests on Windows
Add missing release notes

<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>

Co-authored-by: Mikaël Mayer <[email protected]>
<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>

Co-authored-by: davidcok <[email protected]>
More work on the error catalog


<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>

Co-authored-by: davidcok <[email protected]>
Co-authored-by: Mikaël Mayer <[email protected]>
Co-authored-by: stefan-aws <[email protected]>
Co-authored-by: Aaron Tomb <[email protected]>
I see nightly is failing again:
https://github.com/dafny-lang/dafny/actions/runs/3909011490/jobs/6679674161

I'm guessing it's because of the following commit, since that's what
caused the exact same issue, namely the win-4 run timing out, so I'll
revert that: 790bf78.

<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>
…ild on Java (dafny-lang#3355)

Fixes dafny-lang#2827

Adds the creation of a java jar file to the build step on a Java
platform.
- If there is a Main method, the jar is an executable jar. So a simple
A.dfy can be built as `dafny build -t:java A.dfy`
and then run as `java -jar A.jar`
- If there is no Main entry point, all the generated class files are
assembled into a library Jar file that can be used on the
classpath as a java library.
- In both cases, the DafnyRuntime library is included in the generated
jar
- The .java and .class artifacts are retained if --spill-translation is
true (not the default) or if the legacy CLI is being used (so as not to
break old workflows)
- The jar file is placed in the directory specified by --output (which
is the working directory by default)

Note that the --output option can specifies the _name_ of the output jar
file, as in Q.jar or zzz/Q.jar,
but it is not the name of the directory in which to put the jar file. In
java builds, the build artifacts are placed in
a directory whose location is the path and name of the jar file, without
'-jar' and with '-java'. (This behavior is unchanged)

Having a library or executable jar simplifies the user's task in
figuring out how to use the built artifacts.

<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>

Co-authored-by: davidcok <[email protected]>
If there is a deep test check, and multiple runs qualify for that check,
but the most recent run in still in progress, do not fail the check on
that run, but instead look at the first not in progress run.

Also add a missing return statement so we don't get don't confusing
error reporting like this:
<img width="1011" alt="image"
src="https://user-images.githubusercontent.com/3121201/212307198-f0041b1c-e6dc-4852-ab75-38816122eeff.png">

<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>
Fixes dafny-lang#3328

```
  --cores <count>                         Run the Dafny CLI using <n> cores, or using 
                                          <XX%> of the machine's logical cores. 
                                          [default: 6]
```

Default is 50% of logical cores. Sadly the help shows that number
already being resolved. Changing that is complicated.

<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>
@davidcok davidcok enabled auto-merge (squash) January 24, 2023 19:47
Copy link
Collaborator

@RustanLeino RustanLeino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for implementing this deprecation message.

@davidcok davidcok merged commit 07932fc into dafny-lang:master Jan 24, 2023
@davidcok davidcok deleted the cok-2778-remove-attributes branch January 25, 2023 00:07
atomb added a commit to atomb/dafny that referenced this pull request Feb 1, 2023
Fixes dafny-lang#2778 and recent discussion: deprecates :dllimport and :handle

<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>

Co-authored-by: davidcok <[email protected]>
Co-authored-by: Fabio Madge <[email protected]>
Co-authored-by: Aaron Tomb <[email protected]>
Co-authored-by: Remy Willems <[email protected]>
Co-authored-by: Mikaël Mayer <[email protected]>
Co-authored-by: stefan-aws <[email protected]>
Co-authored-by: Aaron Tomb <[email protected]>
Co-authored-by: Alex Chew <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove :dllimport attribute (and :handle)
6 participants