summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Add arm/arm64 for FreeBSD (#13822)lbartoletti2020-03-311-1/+1
| | | | | * Add arm and arm64 for FreeBSD * Add arm64 with aarch64 and reorder to avoid conflict with arm
* DrNim (Nim compiler with Z3 integration) (#13743)Andreas Rumpf2020-03-3112-27/+178
| | | | | | | | | | | | | | | | | | | | | | | | * 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
* fixes #13810 (#13821)cooldome2020-03-311-1/+1
| | | Co-authored-by: cooldome <ariabushenko@bk.ru>
* macros for proc types, macros for types (#13778)Andreas Rumpf2020-03-313-95/+134
| | | | | | | | | * new minor feature: macros for proc types, to be documented * Finished the implementation and added tests * [skip ci] Describe the new custom pragmas in the manual and the changelog Co-authored-by: Zahary Karadjov <zahary@gmail.com>
* stacktraces can now show custom runtime msgs per frame (#13351)Timothee Cour2020-03-304-2/+12
| | | | | | | | * stacktraces can now show custom runtime msgs * improve tests/stdlib/tstackframes.nim * fix test for --gc:arc * test --stacktraceMsgs:on and --stacktraceMsgs:off * --stacktracemsgs:off by default
* '.push raises: []' now also affects proc types (#13776)Andreas Rumpf2020-03-294-3/+11
| | | | | | | | | * '.push raises: []' now also affects proc types * fixes the regression * less disruptive bugfix * another attempt
* fix #13730 (#13787)Timothee Cour2020-03-281-2/+6
|
* fixes #13763 (#13777)Andreas Rumpf2020-03-272-1/+10
|
* make nim_temp compile with --gc:arc --sinkInference:off (#13769)cooldome2020-03-261-1/+1
| | | | | | | * make nim_temp compiler with --gc:arc * trigger build Co-authored-by: cooldome <ariabushenko@bk.ru>
* Fix vm.nim for --gc:arc (#13741)Clyybber2020-03-263-41/+30
| | | | | | | | | | | | | * koch boot --gc:arc now passes the nim stage ... but generates invalid C code * Move it closer to where its used * Try something else * Poor mans var * Use UncheckedArray instead
* Fix typeSym.getImpl for ref types (#13752)zah2020-03-263-6/+6
| | | | | | | | | | | | | | | | | | | | | * Fix typeSym.getImpl for ref types * Fix a codegen issue affecting the test suite of nim-beacon-chain * Fix tests/stdlib/tjsonmacro To understand the fix better it may help to take a look at the history of the replaced code. The nil check that is removed in this commit was introduced in another fix that failed to identify the root cause of the issue - namely that we allow an object type to exist for which no ast is present: https://github.com/nim-lang/Nim/pull/9601/files The original intention of the code is more obvious here: https://github.com/nim-lang/Nim/pull/9538/files
* Continue bool conversion fixing (#13751)cooldome2020-03-252-1/+12
| | | | | | | | | * continue fixing #13744 * improve style * improve test Co-authored-by: cooldome <ariabushenko@bk.ru>
* bump copyright year to 2020 (#13753)Miran2020-03-251-1/+1
|
* fixes #13744 (#13749)cooldome2020-03-253-1/+9
| | | | | | | * fixes #13744 * improve style Co-authored-by: cooldome <ariabushenko@gmail.ru>
* fix #13737 (#13738)Timothee Cour2020-03-241-1/+2
|
* fixes #13722 (#13729)Andreas Rumpf2020-03-231-1/+1
| | | | | * fixes #13722 * better fix
* trees.nim: compare floating points by their bitpatterns because NaN ↵Araq2020-03-231-1/+1
| | | | comparisions are always false (WORST design in the history of computing!)
* disable even more of scope based destruction handling; fixes #13709Araq2020-03-231-7/+98
|
* trees.nim: compare floating points by their bitpatterns because NaN ↵Araq2020-03-231-1/+1
| | | | comparisions are always false (WORST design in the history of computing!)
* new syntax for lvalue references: `var b {.byaddr.} = expr` (#13508)Timothee Cour2020-03-231-0/+46
| | | | | | | | * new syntax for lvalue references: `var b {.byaddr.} = expr` * on type mismatch, `???(0, 0)` not shown anymore * * compiler now lowers `var a: {.foo.}: MyType = expr` to foo(a, MyType, expr) * new pragmas.byaddr defined in pure library code exploiting this lowering * skip `template foo() {.pragma.}`
* Revert "fix #13417 (#13712)" (#13728)Andreas Rumpf2020-03-231-10/+11
| | | This reverts commit a5f02cac85281fc2804e910f330f0c11d3c4f77b.
* better error messages for Nim's effect systemAraq2020-03-222-20/+43
|
* fix #13417 (#13712)Arne Döring2020-03-221-11/+10
| | | | | * fix #13417 * add test
* fixes #13715 (#13716)Arne Döring2020-03-221-1/+4
| | | | | * fixes #13715 * fix test
* typoAraq2020-03-221-1/+1
|
* fix #13720 (#13721)Arne Döring2020-03-221-1/+1
|
* fixes #13708 (#13711)cooldome2020-03-212-10/+20
| | | | | | * fixes #13708 * differentiate between arc and rest of GC Co-authored-by: cooldome <ariabushenko@bk.ru>
* [RFC] 'walkDir' now has a new 'checkDir' flag, to mimic behaviour of other ↵Timothee Cour2020-03-201-1/+1
| | | | | languages (#13642) Co-authored-by: narimiran
* fixes #13698 (#13706)Andreas Rumpf2020-03-201-1/+3
|
* make 'nim check' more robust for illdefined constantsAraq2020-03-201-1/+1
|
* fix #13538 sigmatch errors are now sorted (#13701)Timothee Cour2020-03-201-0/+7
| | | | | | | * fix #13538 sigmatch now sorted and has reliable order * re-enable tests that were disabled because of that bug * fix remaining tests and un-disable 2 other tests that were affected by this bug
* cycle breaker (#13593)Andreas Rumpf2020-03-195-22/+42
| | | | * cycle breaking as an alternative to cycle detection
* Clean 1 old deprecated empty file (#13696)Juan Carlos2020-03-191-6/+0
|
* Attempt to finish off araq cpp exceptions (#13695)cooldome2020-03-195-26/+205
| | | | | | | | | | | | | | | * config update * disable a questionable test * remove c++ exception handling IDs, new impl doesn't require it anymore * C++ based exceptions finally work * fixes bootstrapping problem in C++ mode * teach GCC it's 2020 now * more bugfixes for C++ based exception handling * apply cooldome's patch * another attempt to enable C++11 * bug fix Co-authored-by: Araq <rumpf_a@web.de> Co-authored-by: cooldome <ariabushenko@bk.ru>
* fixes #13691 (#13694)Andreas Rumpf2020-03-191-2/+5
|
* fix #13412 nim now recompiles for stdin input; SuccessX now configurable; ↵Timothee Cour2020-03-192-1/+11
| | | | | | can show whether it recompiled (#13506) * fix #13412 nim now recompiles for stdin input; SuccessX now indicates whether it recompiled
* added a switch -d:nimEmulateOverflowChecks for broken or old GCC versions ↵Andreas Rumpf2020-03-191-3/+5
| | | | (#13692)
* enable --tlsEmulation:on for --gc:arc (#13685)Andreas Rumpf2020-03-181-1/+1
| | | | * enable --tlsEmulation:on for --gc:arc * make -d:useMalloc work with --gc:arc --threads:on
* arc optimizations (#13325)Andreas Rumpf2020-03-184-84/+247
| | | | | * scope based destructors * handle 'or' and 'and' expressions properly, see the new test arc/tcontrolflow.nim * make this branch mergable, logic is disabled for now
* new feature: --staticBoundChecks:on to enforce static array index checking ↵Andreas Rumpf2020-03-1811-29/+129
| | | | (#10965)
* fix #13524 astToStr now works inside generics (#13681)Timothee Cour2020-03-181-1/+1
|
* fixes #13622 (#13679)Andreas Rumpf2020-03-181-2/+4
|
* fixes #13671 [backport] (#13678)Andreas Rumpf2020-03-181-1/+1
|
* fix when statements in inheritable generic objects (#13667) [backport]Jasper Jenkins2020-03-171-1/+1
|
* rewritten goto based exception handling; much cleaner implementation;… ↵Andreas Rumpf2020-03-172-23/+7
| | | | | | (#13677) * rewritten goto based exception handling; much cleaner implementation; fixes #13668
* Fixes #13659 (#13674)cooldome2020-03-171-2/+2
| | | | | * fixes #13659 Co-authored-by: cooldome <ariabushenko@bk.ru>
* fix `nim doc subdir/foo` which was generating broken css; + other fixes (#13647)Timothee Cour2020-03-172-12/+16
| | | | | | * docgen: minor refactoring via docOutDir * fix css for `nim doc subdir/foo` without --outdir nor -o * tcompilesetting.nim: keep `git status` clean * re-enable pkg nimgame2 that got fixed upstream
* fix sets of scoped imported enums (#13666)Jasper Jenkins2020-03-171-1/+2
|
* rename sfAlwaysReturn to sfNeverRaisesAraq2020-03-164-5/+5
|
* fixes #13661 (#13664) [backport]Andreas Rumpf2020-03-162-2/+5
|