| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
(with tE:m).
|
|
|
|
| |
TypeToString() instead. Add test for /typeEncoding:m.
|
|
|
|
| |
use separate Z3 type per Boogie type
|
| |
|
|
|
|
| |
unnecessary one
|
| |
|
| |
|
|
|
|
| |
input).
|
| |
|
| |
|
| |
|
|
|
|
| |
/lazyInline:1. It is off by default. This option currently does not support loops and recursion and also does not allow assertions and specifications in inlined procedures. The usage is currently not documented.
|
|
|
|
|
|
|
|
|
|
|
| |
* Bug fix: Changed checking of postconditions to follow the order in which ensures clauses are given (not reverse order, as was previously the case)
* Added command-line option (/instrumentInfer) that decides how to instrument the Boogie program with inferred invariants. Previously, the only option was to instrument at the beginning and end of every basic block. The new option, which is now the default, is to instrument only at the beginning of loop heads.
* Add empty blocks between other blocks only as needed, and try a little harder to retain source information when blocks are peep-hole optimized
* Renamed flag /noRemoveEmptyBlocks to /removeEmptyBlocks:<c> where <c> is 0 or 1
Boogie refactoring:
* Removed LoopPredicate class and related classes and methods left over from when (back in the Zap 2 days) we supported loop invariants on demand
* Cleaned up some parsing of command-line options
|
| |
|
|
|
|
|
|
|
| |
The functionality is currently broken.
* Adjust procedure summaries also after processing call returns (used only in interprocedural inference, which is currently not really supported, but this change would be needed if we ever decide to support it)
* Some other code clean-up, like removing unnecessary [Reads(...Owned)] attributes on [Pure] methods
|
|
|
|
|
|
|
| |
linear procedure call
2. Inlining requires two fields OriginalBlocks and OriginalLocVars in Implementation. These are set just before inlining is called and now I reset them to null afterwards to help garbage collection.
3. Clear live variables right after passification again to help garbage collection.
|
|
|
|
| |
generation. This reduces the chances of Boogie causing a stack overflow.
|
|
|
|
| |
used only in conjunction with /monomorphize. When enabled, this switch uses the native Z3 array theory rather than the Select-Update axioms.
|
|
|
|
|
|
| |
filename starts with a digit, don't just prepend it to a QID, but prepend another character ('_') first.
This fixes issue 5278 in the Issue Tracker.
|
|
|
|
| |
to Z3. By default, both LET TERM and LET FORMULA expressions are used. Mode /z3lets:2 uses only LET FORMULA, which works around a current Z3 issue with LET expressions and nested quantifiers.
|
|
|
|
| |
Deleted/ignored some binaries in the Binaries directory.
|
|
|
|
| |
antecedent in select-of-store axioms (fixing an error in my previous check-in).
|
|
|
|
| |
triggers are ignored.
|
|
|
|
| |
bitvector operations
|
| |
|
| |
|
|
|