summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* fix #15836 proc arg return type auto unexpectly match proc with concr… ↵Bung2022-12-127-11/+13
| | | | | | | | | (#21065) * fix #15836 proc arg return type auto unexpectly match proc with concrete type * fix #16244 * add test case for #12869
* alternative, much simpler algorithm for strict func checking (#21066)Andreas Rumpf2022-12-113-20/+78
| | | | | | | | | | | | | * alternative, much simpler algorithm for strict func checking * forgot to git add new compiler module * new spec is incredibly simple to describe * fixes bigints regression * typos * closes #16305; closes #17387; closes #20863
* fix #16758 Nim crashes in fixAbstractType (#20855)Bung2022-12-111-0/+3
| | | | | | | | | * fix #16758 Nim crashes in fixAbstractType * Update compiler/semexprs.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de> Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fix #21045; getTime with vmopsDanger is broken; alternative to #21054 (#21056)ringabout2022-12-103-3/+16
| | | | | * fix #21045 getTime with vmopsDanger is broken; alternative to #21054 * typo
* tiny refactoring related to sink parameter inference logic (#21064)Andreas Rumpf2022-12-102-2/+1
| | | | | * tiny refactoring related to sink parameter inference logic * Update compiler/sempass2.nim
* Revert "fix #15836 proc arg return type auto unexpectly match proc with ↵ringabout2022-12-097-11/+11
| | | | | | | concr…" (#21057) Revert "fix #15836 proc arg return type auto unexpectly match proc with concr… (#21044)" This reverts commit 0cd9bdcf9f6802421e0d8e4c28fc732012af605e.
* fix #15836 proc arg return type auto unexpectly match proc with concr… ↵Bung2022-12-097-11/+11
| | | | | (#21044) fix #15836 proc arg return type auto unexpectly match proc with concrete type
* remove duplicate assignment (#21050)ringabout2022-12-091-1/+0
| | | `newNodeIT` has already assigned `n.typ` to x.
* fix issue #20922 by handling missing expr in `exprList` for `tkOf` (#20930)Vindaar2022-12-081-5/+23
| | | | | | | | | | | | | | | | | | * fix issue #20922 by handling missing expr in `exprList` for `tkOf` * fix line numbers in test case * rewrite exprList requiring expr, add optionalExprList for except As suggested by @metagn. * update test case to reflect new code * update grammar.txt * update line numbers in test case taking into account nimout Given the number of errors that are produced it seems easier to do it this way instead of using `tt.Error`.
* fixes #9839; fixes noReturn pragma doesn't work for non-simple templates ↵ringabout2022-12-081-3/+6
| | | | (#21048)
* Named arguments in commands + many grammar fixes (#20994)metagn2022-12-061-112/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Breaking parser changes, implement https://github.com/nim-lang/RFCs/issues/442 Types are separated from expressions and better reflected in the grammar. * add test * more accurate grammar * fix keyword typedescs * accept expressions in proc argument lists * CI "fixes" * fixes * allow full ref expressions again, adapt old tests * cleanup, fix some tests * improve grammar, try and revert semtypes change * restrict sigil binding to identOrLiteral * fix, should have caught this immediately * add changelog entry, fix double not nil bug * correct grammar * change section * fix * real fix hopefully * fix test * support LL(1) for tuples * make grammar.txt too
* fixes #21027; cast expressions need a type (#21029)ringabout2022-12-061-0/+2
| | | | | | | * fixes #21027; cast expressions need a type * Apply suggestions from code review Thanks to @beef331
* definite assignment analysis for let (#21024)ringabout2022-12-064-30/+55
| | | | | | | | | | | | | | | | | | | * draft for let daa * patch * fixes bugs * errors for global let variable reassignments * checkpoint * out param accepts let * add more tests * add documentation * merge tests
* deprecate `do:` meaning `do ():` + misc cleanup (#20927)metagn2022-12-065-47/+12
| | | | | | | | | | | | | | | | | * test disable do: block lambda lifting * fix last test [skip ci] * deprecate `do:` meaning `do ():` + misc cleanup closes https://github.com/nim-lang/RFCs/issues/486 * oops * fix * no idea what could be causing nimsuggest failure other than this * ensure ci works
* stdlib organization & documentation improvements (#20971)metagn2022-12-061-1/+2
| | | | | | | | | | | | | | | | | * stdlib organization & documentation improvements * fix CI * Update doc/lib.md Co-authored-by: Juan Carlos <juancarlospaco@gmail.com> * fix ci, remove jshttpcore, export in jsfetch instead * fix alphabetical order violations * add cmdline, db_odbc Co-authored-by: Juan Carlos <juancarlospaco@gmail.com>
* fix #20829 Regression in int64 type matching since (#21019)Bung2022-12-061-2/+4
| | | fix #20829 Regression in int64 type matching
* Revert "fixes #20883; Unspecified generic on default value segfaults the ↵ringabout2022-12-062-7/+2
| | | | | | | compiler" (#21028) Revert "fixes #20883; Unspecified generic on default value segfaults the compiler (#20917)" This reverts commit 10b6e4f5b4a119a8fa42f82a24ae7e4b08b2c103.
* fix #16639 (#21017)metagn2022-12-051-3/+4
|
* Dont produce initing moves for sfNoInit variables in closure env (#21026)Yuriy Glukhov2022-12-051-1/+4
|
* fixes #20954; bounchecks for len(toOpenArray()) [backport] (#20956)ringabout2022-12-051-0/+4
| | | | | * bounchecks for len(toOpenArray()) * add a testcase
* fixes `isLocalVarSym`; an implicit global is a global nonetheless (#21025)ringabout2022-12-051-2/+2
| | | fixes isLocalVarSym; an implicit global is a global nonetheless
* ref #20846; give a deprecation message for overriding `=` hook (#21020)ringabout2022-12-051-0/+2
| | | give a deprecation message for overriding `=` hook
* fix #20996 (#21016)metagn2022-12-042-8/+12
| | | | | * fix #20996 * hopefully fix
* unpublic `arrayWith` and rename it to `nimArrayWith` (#21006)ringabout2022-12-041-4/+4
| | | | | * unpublic arrayWith * unindent
* fixes #20883; Unspecified generic on default value segfaults the compiler ↵ringabout2022-12-012-2/+7
| | | | | (#20917) test CI
* IC: fix typo in rodfiles.nim (#20989)Ikko Ashimine2022-12-011-1/+1
| | | preceeded -> preceded
* tyInt tyUint fit target int bit width (#20829)Bung2022-12-012-22/+65
|
* replace data init function with consts for typeinfov2 (#20977)ringabout2022-12-011-3/+47
| | | | | | | | | | | | | * replace data initial function with consts for typeinfov2 * fixes * fixes * workaround C++ * C++ keeps the previous implementaion * fixes
* better procvar ambiguity errors, clean up after #20457 (#20932)metagn2022-12-013-36/+40
| | | | | | | | | | | | | | | * better procvar ambiguity errors, clean up after #20457 fixes #6359, fixes #13849 * only trigger on closedsymchoice again * new approach * add manual entry for ambiguous enums too * add indent [skip ci] * move to proc
* removed unused sections in codegen (#20976)ringabout2022-11-302-12/+1
|
* Add `--genCDeps` for better integration with CMake (#20950)Jaremy Creechley2022-11-293-0/+26
| | | | | | | | | | | | | | | | | * add gencdeps option * add case statement * Update compiler/main.nim * Update compiler/main.nim * Apply suggestions from code review Fixes Co-authored-by: Andreas Rumpf <rumpf_a@web.de> Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fixes #20958; fixes the return type of slice function [backport] (#20959)ringabout2022-11-291-0/+3
| | | | | * fixes #20958; fixes the return type of slice function * add a testcase
* fixes #13583; enforce void for `nkWhileStmt` (#20947)ringabout2022-11-291-0/+5
| | | | | * fixes #13583; enfore void for nkWhileStmt * one more case
* allow proc expressions in place of statements (#20935)metagn2022-11-291-7/+15
| | | properly fixes #18714
* fix bugs with dot & call operators [backport] (#20931)metagn2022-11-282-28/+39
| | | | | | | | | | | | | | | | | | | * better error messages for dot operators [backport] fixes #13063 * also fixes #7777 * fix #6981 and #9831 too * fix * minor improvement * sus test fixes * make test multiplatform lol * fix nimsuggest test, extra improvements
* Add `nkFastAsgn` into `semExpr` (#20939)Jake Leahy2022-11-271-1/+1
| | | | | * Add nkFastAsgn into case statement * Add test case
* fixes #20914; fixes the alignment of big sets (#20918)ringabout2022-11-261-2/+2
| | | | | * fixes #20914; fixes the align of bug sets * add a test for alignof
* fix #13790; ptr char (+friends) should not implicitly convert to cstring ↵ringabout2022-11-242-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#20761) * fix =#13790 ptr char (+friends) should not implicitly convert to cstring * Apply suggestions from code review * first round; compiles on windows * nimPreviewSlimSystem * conversion is unsafe, cast needed * fixes more tests * fixes asyncnet * another try another error * last one * true * one more * why bugs didn't show at once * add `nimPreviewCstringConversion` switch * typo Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com>
* An unnamed break in a block now gives an `UnnamedBreak` warning (#20901)ringabout2022-11-248-2/+27
| | | | | | | | | | | | | | | | | | | | | * unnamed break in the block now gives an error * bootstrap * fixes * more fixes * break with label * label again * one moee * Delete test5.txt * it now gives a UnnamedBreak warning * change the URL of bump back to the original one
* render post expr blocks better (#20871)metagn2022-11-221-23/+42
| | | | | | | * render post expr blocks * remove pointless diff * fix PR split mistake
* fix #18964 Small string case with else statement first in AST evaluat… ↵Bung2022-11-221-1/+6
| | | | | (#20862) fix #18964 Small string case with else statement first in AST evaluates wrongly
* fixes #20026; marks system procs which can raise defects (#20864)ringabout2022-11-225-3/+8
| | | | | | | | | * marks system procs which can raise defects * add tests * add more systemRaisesDefect * add comment
* fix #20866 [ORC] Bad codegen for global pointer to iterator (#20876)Bung2022-11-221-2/+5
|
* NimMain/NimPreMain calls are now only volatile when it makes sense. (#20882)Yuriy Glukhov2022-11-221-49/+31
|
* Fix compiler build with -d:nimDebugReorder (#20888)Kyle Coffey2022-11-221-12/+15
| | | | | | | * add missing import for -d:debugReorder * rename compile-time symbol to match best practices Fix #20887.
* Small cleanup to cgen output (#20874)Matt Moseley2022-11-211-9/+9
|
* fixes #20856; store defaults directly (#20859)ringabout2022-11-172-10/+3
| | | | | | | | | | | * fixes #20856; store defaults directly * fixes * fixes * check * fixes
* fixes ptr to cstring warnings[backport] (#20848)ringabout2022-11-162-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix =#13790 ptr char (+friends) should not implicitly convert to cstring * Apply suggestions from code review * first round; compiles on windows * nimPreviewSlimSystem * conversion is unsafe, cast needed * fixes more tests * fixes asyncnet * another try another error * last one * true * one more * why bugs didn't show at once * add `nimPreviewCstringConversion` switch * typo * fixes ptr to cstring warnings[backport] * add fixes Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com>
* fixes a long-standing ARC bug (#20849)ringabout2022-11-161-2/+6
| | | | | * fixes an ARC bug * add a testcase
* createDir is now callable at compile time (#20824)Don-Duong Quach2022-11-141-3/+18
|