Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | init checks and 'out' parameters (#14521) | Andreas Rumpf | 2020-06-23 | 1 | -1/+1 |
| | | | | | | | | | | | * I don't care about observable stores * enforce explicit initializations * cleaner code for the stdlib * stdlib: use explicit initializations * make tests green * algorithm.nim: set result explicitly * remove out parameters and bring the PR into a mergable state * updated the changelog | ||||
* | drnim: tiny progress (#13882) | Andreas Rumpf | 2020-04-15 | 1 | -7/+10 |
| | | | | | | | | | | | * drnim: tiny progress * refactoring complete * drnim: prove .ensures annotations * Moved code around to avoid code duplication * drnim: first implementation of the 'old' property * drnim: be precise about the assignment statement * first implementation of --assumeUnique * progress on forall/exists handling | ||||
* | DrNim (Nim compiler with Z3 integration) (#13743) | Andreas Rumpf | 2020-03-31 | 1 | -0/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | * code cleanups and feature additions * added basic test and koch/CI integration * make it build on Unix * DrNim: now buildable on Unix, only takes 10 minutes, enjoy * added basic documentation for DrNim which can also be seen as the RFC we're following * drnim: change the build setup so that drnim.exe ends up in bin/ * makes simple floating point ranges work * added basic float range check * drnim: teach Z3 about Nim's range types plus code refactoring * drnim: make unsigned numbers work * added and fixed index checking under setLen * first implementation of .ensures, .invariant and .assume (.requires still missing and so is proc type compatibility checking * drnim: .requires checking implemented * drnim: implemented .ensures properly * more impressive test involving min() * drnim: check for proc type compatibility and base method compatibility wrt .requires and .ensures * testament: support for 'pattern <directory> * koch: uses new <directory> feature of testament * drnim: added tiny musings about 'old' * Make testament work with old SSL versions * koch: add support for 'koch drnim -d:release' * drnim: preparations for the param.old notation | ||||
* | new feature: --staticBoundChecks:on to enforce static array index checking ↵ | Andreas Rumpf | 2020-03-18 | 1 | -11/+36 |
| | | | | (#10965) | ||||
* | fix operators containing percent for VM usage (#13536) | Arne Döring | 2020-03-11 | 1 | -2/+2 |
| | | | | * fixes #13513 * merge tarithmetics in tarithm | ||||
* | Remove dead magics (#13551) | Arne Döring | 2020-03-03 | 1 | -7/+4 |
| | |||||
* | Cosmetic compiler cleanup (#12718) | Clyybber | 2019-11-28 | 1 | -172/+172 |
| | | | | | | | | | | | | | | | | | | * Cleanup compiler code base * Unify add calls * Unify len invocations * Unify range operators * Fix oversight * Remove {.procvar.} pragma * initCandidate -> newCandidate where reasonable * Unify safeLen calls | ||||
* | guards.nim:sameTree(): handle uint literals correctly (#12483) [backport] | Paul Tan | 2019-10-22 | 1 | -1/+1 |
| | |||||
* | Small ast.nim cleanup (#12156) | Clyybber | 2019-09-09 | 1 | -2/+2 |
| | | | | | * Remove sonsLen * Use Indexable | ||||
* | fix min/max for float numbers (#12068) | Arne Döring | 2019-09-02 | 1 | -2/+2 |
| | |||||
* | int128 on firstOrd, lastOrd and lengthOrd (#11701) | Arne Döring | 2019-08-07 | 1 | -2/+2 |
| | | | | * fixes #11847 | ||||
* | fixes #11436 | Araq | 2019-06-19 | 1 | -3/+4 |
| | |||||
* | Replace countup(x, y-1) with x ..< y | Clyybber | 2019-05-07 | 1 | -1/+1 |
| | |||||
* | add custom pragma support for var and let symbols (#9582) | jcosborn | 2019-01-07 | 1 | -4/+4 |
| | | | | | | * add custom pragma support for var and let symbols * updated changelog for custom pragmas on var and let symbols * add oldast switch for backwards compatibility | ||||
* | Change the order of compilation passes, transformation is made lazy at code ↵ | cooldome | 2018-10-18 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | gen (#8489) * Ast no transformation * Add getImplNoTransform to the macros module * progress on delaying transf * Fix methods tranformation * Fix lazy lambdalifting * fix create thread wrapper * transform for lambda lifting * improve getImplTransformed * Fix destructor tests * try to fix nimprof for linux | ||||
* | remove more global variables in the Nim compiler | Andreas Rumpf | 2018-05-27 | 1 | -1/+1 |
| | |||||
* | platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals | Andreas Rumpf | 2018-05-18 | 1 | -12/+12 |
| | |||||
* | more modules compile again | Andreas Rumpf | 2018-05-12 | 1 | -2/+2 |
| | |||||
* | sempass2 compiles again | Andreas Rumpf | 2018-05-11 | 1 | -2/+2 |
| | |||||
* | guards.nim does compile | Andreas Rumpf | 2018-05-11 | 1 | -115/+125 |
| | |||||
* | Get symbol kind (#7491) | Arne Döring | 2018-04-11 | 1 | -2/+4 |
| | |||||
* | macros.nim: deprecated ! operator | Andreas Rumpf | 2017-11-19 | 1 | -2/+4 |
| | |||||
* | fixes #5781 | Andreas Rumpf | 2017-11-18 | 1 | -1/+1 |
| | |||||
* | deprecated unary '<' | Andreas Rumpf | 2017-10-29 | 1 | -1/+1 |
| | |||||
* | overloading resolution for getAst; breaking change | Araq | 2017-03-18 | 1 | -2/+3 |
| | |||||
* | removed tyArrayConstr completely from the compiler; introduced tyAlias ↵ | Araq | 2016-11-14 | 1 | -1/+1 |
| | | | | instead in preparation for further bugfixes | ||||
* | refactoring complete: explicit ident cache | Araq | 2016-10-31 | 1 | -4/+0 |
| | |||||
* | big refactoring: step 1 | Araq | 2016-10-31 | 1 | -0/+4 |
| | |||||
* | compiler almost free of deprecated expr/stmt names | Andreas Rumpf | 2016-07-30 | 1 | -8/+8 |
| | |||||
* | disjoint checker is smarter (and slower) | Araq | 2015-09-23 | 1 | -7/+113 |
| | |||||
* | made disjoint checker smarter; fixes regressions | Araq | 2015-09-23 | 1 | -3/+17 |
| | |||||
* | Removed magics: mEqI64 mLtI64 mLeI64 | rku | 2015-06-10 | 1 | -3/+3 |
| | |||||
* | Removed magics: mAddI64, mSubI64, mMulI64, mDivI64, mModI64 | rku | 2015-06-10 | 1 | -5/+5 |
| | | | | Author: rku <rokups@zoho.com> | ||||
* | sempass2: bugfixes | Araq | 2015-04-28 | 1 | -2/+2 |
| | |||||
* | added '..^' and '..<' operators; 'nil' is allowed for 'len'; added plugin ↵ | Araq | 2015-04-22 | 1 | -1/+2 |
| | | | | system to the compiler | ||||
* | cleaned up some magics to make room for new magics; added '..<' and '..^' ↵ | Araq | 2015-04-22 | 1 | -2/+2 |
| | | | | templates | ||||
* | fixes #2359 | Araq | 2015-03-16 | 1 | -2/+2 |
| | |||||
* | disjoint checker is somewhat smarter | Araq | 2015-03-16 | 1 | -2/+17 |
| | |||||
* | fixes #2287 | Araq | 2015-03-12 | 1 | -42/+62 |
| | |||||
* | fixes #325 | Araq | 2015-01-28 | 1 | -6/+0 |
| | |||||
* | Happy new year! | Guillaume Gelin | 2015-01-06 | 1 | -1/+1 |
| | |||||
* | implemented 'guard' annotation | Araq | 2014-09-21 | 1 | -0/+16 |
| | |||||
* | Nimrod renamed to Nim | Araq | 2014-08-28 | 1 | -1/+1 |
| | |||||
* | fixes tinavlid_array_bounds test | Araq | 2014-08-10 | 1 | -1/+1 |
| | |||||
* | Merge pull request #1279 from Varriount/fix-1216 | Simon Hafner | 2014-06-18 | 1 | -1/+1 |
|\ | | | | | Fix issue #1216 | ||||
| * | Fix issue #1216 | Clay Sweetser | 2014-06-15 | 1 | -1/+1 |
| | | |||||
* | | tdisjoint_slice2 works | Araq | 2014-05-31 | 1 | -0/+8 |
| | | |||||
* | | 'parallel' proves array bounds | Araq | 2014-05-29 | 1 | -4/+63 |
| | | |||||
* | | 'parallel' statement almost working | Araq | 2014-05-22 | 1 | -21/+37 |
| | | |||||
* | | 'parallel' statement: next steps | Araq | 2014-05-14 | 1 | -37/+75 |
| | |