summaryrefslogtreecommitdiff
path: root/Source
Commit message (Collapse)AuthorAge
* MergeGravatar leino2015-06-25
|\
* | Tried to reduce frame-axiom instantiations by saying the earlier heap must ↵Gravatar leino2015-06-25
| | | | | | | | | | | | be a "heap anchor". Currently, a heap is an anchor if it produced by a havoc (but not a direct update).
| * Fix issue #85. Only try to interpret an identifier as a datatype constructorGravatar qunyanm2015-06-22
| | | | | | | | when the datetype is not null.
| * Fix various bugs in nested match patterns listed in issue #83Gravatar qunyanm2015-06-19
|/
* Auto-merged heads.Gravatar Michael Lowell Roberts2015-06-16
|\
* | System.Collections.Immutable.dll is now stored in the Binaries directory and ↵Gravatar Michael Lowell Roberts2015-06-16
| | | | | | | | copied to the output directory when the /optimize flag is used.
| * Changed logical order of requires and reads clauses on functions. Reads clausesGravatar Rustan Leino2015-06-15
| | | | | | | | | | can now assume the precondition (as had also been the case back in the days when reads clauses had to be self framing).
| * Do postponsed reads checking also for the body of functions -- see ↵Gravatar Rustan Leino2015-06-15
| | | | | | | | | | | | Test/dafny0/Reads.dfy for benefits. (Unfortunately, this loses track of the "postcondition might not hold on this return path" locations, see Test/dafny0/FunctionSpecifications.dfy.)
| * Postpone reads checks of function preconditions until after the entire ↵Gravatar leino2015-06-15
| | | | | | | | precondition has otherwise been checked for well-formedness
| * Little edits in new CheckWellformedAndAssume codeGravatar leino2015-06-12
| |
| * MergeGravatar leino2015-06-12
| |\
| | * Fix a bug spotted by Chris in my BigInteger patch; thanks!Gravatar Clément Pit--Claudel2015-06-12
| |/ |/| | | | | | | | | | | | | | | | | | | The problem was this: Console.WriteLine(Int64.Parse("08000000000000000", NumberStyles.HexNumber)); // => -9223372036854775808 Console.WriteLine(Int64.Parse("9223372036854775808")); // => Value was either too large or too small for an Int64. In other words, large hex numbers are interpreted as a sequence of bits, not as an actual number.
| * MergeGravatar leino2015-06-12
| |\ | |/ |/|
| * Combined some common routines into CheckWellformedAndAssume, which also ↵Gravatar leino2015-06-12
| | | | | | | | allows an improvement of the generated Boogie (which will be especially good soon, when reads-clause checking may change)
* | added -optimize option to compiler.Gravatar Michael Lowell Roberts2015-06-12
|/
* Add a compatibility layer over BigInteger.ParseGravatar Clément Pit--Claudel2015-06-07
| | | | | | | Mono currently does not implement support for BigInteger.Parse, so use Int64 if possible, and throw the same error as was previously returned otherwise. This is not too much of a problem in practice, because most of the integers that we actually come across in real-life source files seem to fit in an Int64.
* MergeGravatar Clément Pit--Claudel2015-06-08
|\
| * Update the hash code for datatypes to use the djb2 hash algorithm,Gravatar Bryan Parno2015-06-08
| | | | | | | | | | rather than xor. The latter produces pessimal performance if the datatype contains duplicate data.
| * Fix some issues when compiling generic types and generic function method callsGravatar Bryan Parno2015-06-08
| |
* | Fix the UseBaseNameForFileName flag; it shouldn't set the return code to zero.Gravatar Clément Pit--Claudel2015-06-07
|/ | | | | The test suite relies on error codes all being zero (except for preprocessing errors), so add a flag for that (as suggested in a source comment).
* Generate #requires function for OpaqueFunction.Gravatar qunyanm2015-06-04
|
* Added {:auto_generated} trigger, which indicates that a declaration was not ↵Gravatar Rustan Leino2015-06-02
| | | | explicitly mentioned in the input. This lets the Dafny IDE know not to add hovertext for these declarations.
* MergeGravatar leino2015-05-29
|\
| * Add an infinite set collection type.Gravatar qunyanm2015-05-29
| |
* | MergeGravatar leino2015-05-29
|\|
* | Bug fix in type-antecedent for traits in allocation axiomsGravatar leino2015-05-29
| |
| * MergeGravatar Rustan Leino2015-05-29
| |\
| * | Changes to ComputeFreeVariables--bug fix as well as beautificationGravatar Rustan Leino2015-05-29
| | |
| | * Fix build break. Part of the change was not checked in last check-in somehow.Gravatar qunyanm2015-05-19
| | |
| | * Fix issue #81. Pass a call's TypeArgumentSubstitution to CheckCallTermination.Gravatar qunyanm2015-05-18
| | |
| | * DafnyExtension: Added experimental support for diagnosing timeouts.Gravatar wuestholz2015-05-18
| | |
| | * Fix issue #79. Allow tuple pattern matching with parenthesis only.Gravatar qunyanm2015-05-15
| | |
| | * Allow MatchExpr and MatchStmt to have nested patterns. Such asGravatar qunyanm2015-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function last<T>(xs: List<T>): T requires xs != Nil { match xs case Cons(y, Nil) => y case Cons(y, Cons(z, zs)) => last(Cons(z, zs)) } And function minus(x: Nat, y: Nat): Nat { match (x, y) case (Zero, _) => Zero case (Suc(_), Zero) => x case (Suc(a), Suc(b)) => minus(a, b) }
| | * Update the configuration manager so the Debug build actually builds the ↵Gravatar Bryan Parno2015-05-13
| |/ |/| | | | | | | | | Debug version of the projects (rather than Checked). The Checked build still builds the Checked version of the projects.
* | Version 1.9.5.20511Gravatar leino2015-05-11
| |
* | Don't include arrow types among ordered types.Gravatar leino2015-05-11
| | | | | | | | | | | | Fix bug with not seeing imap's because of type synonyms. Don't show semi-colon after "decreases" in hover text. Minor cosmetic change in a test case.
* | Added "inductive lemma" methodsGravatar leino2015-05-07
| |
* | Added inductive predicatesGravatar leino2015-05-06
| |
* | Improved generation of .reads axioms (correcting an incorrect answer and ↵Gravatar leino2015-05-01
| | | | | | | | corresponding incorrectly recorded desired answer)
* | Improved encoding of a property of reads clauses to make things more easily ↵Gravatar leino2015-05-01
| | | | | | | | provable.
* | Bumped version to 1.9.4.20428Gravatar leino2015-04-29
| |
* | MergeGravatar leino2015-04-28
|\|
| * Fix issue #72. Add the constructor questionmark to a function's axiom if theGravatar qunyanm2015-04-24
| | | | | | | | function has a MemberSelectExpr that accesses a type with only one constructor.
* | Fixed bug in tuplesGravatar leino2015-04-24
| |
| * Rearranged handling ambiguously named declarations, so that the multitudes ↵Gravatar Rustan Leino2015-04-22
| | | | | | | | | | | | | | | | of ambiguous names that arise when layers of modules are opened-imported don't cause gross memory waste. In particular, previously, the names of many such ambiguous declarations were shown to exceed 1 million characters, the way they had been constructed. Now, multiple imports of the same declaration are immediatley resolved as not being ambiguous.
| * Fix issue #70. Check the ctors for equality before marking them as duplicates.Gravatar qunyanm2015-04-21
| |
| * Fix issue #73. Pass in expr.tok when creating Bpl.Expr for InMap and NotInMap.Gravatar qunyanm2015-04-20
| |
| * Fix issue #69. If we can't find a member in classMembers, search the staticGravatar qunyanm2015-04-17
| | | | | | | | members of the enclosing module or its imports.
| * Fix issue #71. When substitute the forall's variables for those of theGravatar qunyanm2015-04-16
|/ | | | fn in fixupRevealLemma substitute the types as well.
* Fix issue #67. Check SupportsEquality before determining whether to emit EqualsGravatar qunyanm2015-04-13
| | | | or == for equality testing.