-
Notifications
You must be signed in to change notification settings - Fork 26
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
[VCLLVM] Add partial contract support for LLVM #1034
Conversation
Latest commit on the branch solves both these issues:
We now make sure the parsed contracts are also passed through the resolver by making the the contract parsing part of the resolver.
Since the resolver is part of the |
Latest commit should resolve above issue. I'm planning to implement invocations in contracts soon too. Since it's kind of related I could add to this PR or open a separate PR for it. |
@Drevanoorschot What's the state of this now, should this be merged? |
Yes, this branch can be merged. Apologies for not having been clear about the status of this PR |
# Conflicts: # build.sc # src/col/vct/col/resolve/Resolve.scala # src/main/vct/main/stages/Resolution.scala
This PR adds function contract support for LLVM programs. It's not entirely finished and there are still some issues. However, it compiles and to prevent future merge conflicts, I felt like it would be best to create this PR anyway.
Some of the issues/notes:
\result
keyword, theAmbigiousResult.ref
reference is never set. I'm not sure why this is or where the reference assignment is supposed to happen either.parsers
a dependency ofrewrite
.