summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Rst test check messages (fix #17280) (#17338)Andrey Makarov2021-03-171-2/+7
|
* semLambda removed, semProcAux reworked (#17379)Saem Ghani2021-03-1713-209/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * simplified proc-like name ident to symbol code * wip - reworking generic param sem * wip - closer to removing nkEmpty generic params * it's hacky but tests pass * slowly tweaking semProcAux to take on semLambda * fix pragma superset check proto vs current * Set the symbol owner earlier * partial progress reworking proto found bug where default values between forward and impl lead to overload resolution issues. * simplified pragma handling and callConv checks Co-authored-by: Clyybber <Clyybber@users.noreply.github.com> * partially working * cgexprs issue * It works! * comment clean-up * clean-up asserts, comments, and other bits * add isGenericParams, inline isGeneric queries * seeing if this is sufficiently consistent * can use this approach or continue it in a further PR * commentary about nullary generics and clean-ups * fixed a mistake in PNode isGenericRoutine * Some small cleanups * Small cleanup * for func lambdas ensure we use lambda pragmas * add some basic compileTime func tests * [ci skip] remove comments Co-authored-by: Clyybber <Clyybber@users.noreply.github.com> Co-authored-by: Clyybber <darkmine956@gmail.com>
* followup #16067 --spellSuggest (#17401)Timothee Cour2021-03-173-23/+24
| | | | | | | * followup #16067 --spellSuggest * enable --spellSuggest by default * fixup
* fix #2844 #3911; add --spellsuggest to suggest symbols in scope with similar ↵Timothee Cour2021-03-164-32/+76
| | | | | | | spellings on undefined symbol error (#16067) * add --spellsuggest to suggest symbols in scope with similar spellings on undefined symbol errors * implement --spellsuggest with 0 arguments
* Revert "make system random work in VM" (#17378)flywind2021-03-151-33/+0
|
* fix #12155, improve nimpretty's handling of pragmas (#17353)Miran2021-03-121-1/+2
|
* fix RST parsing when no indent after enum.item (fix #17249) (#17257)Andrey Makarov2021-03-121-2/+3
|
* arc now bootstraps (#17342)Clyybber2021-03-121-8/+14
| | | ./koch boot --gc:arc works :D
* Fix #14325 (#17308)Clyybber2021-03-112-32/+24
| | | | | * Fix #14325 * Refactor and fix
* fixes #11225; generic sandwich problems; [backport:1.2] (#17255)Andreas Rumpf2021-03-0919-21/+58
| | | | | * fixes #11225; generic sandwich problems; [backport:1.2] * progress * delegating these symbols must be done via 'bind'
* fix #13491 #17279 runnableExamples now don't get lost in translation (#17282)Timothee Cour2021-03-092-24/+43
| | | | | * fix #13491 runnableExamples rendering * fix a runnableExamples thanks to this bugfix
* IC: compilerprocs are handled correctly (#17265)Andreas Rumpf2021-03-098-39/+120
| | | | | | | * IC: compilerprocs are handled correctly * IC: special logic for .exportC'ed procs * IC: 'hello world' compiles for the first round (2nd round fails) * IC: hello world seems to work
* fix #17267 (#17273)flywind2021-03-071-2/+5
| | | | | | | | | | | | | | | | | * remove unnecessary when statement * remove outdated codes * reuse jsffi * move js json coverage * fix #17267 * address comments * Update compiler/main.nim * Update tests/threads/tjsthreads.nim
* Fix #16437 (#17277)Clyybber2021-03-061-20/+22
| | | | | | | * Fix #16437 * Fix * Small cleanup
* Fix macros.quote custom op symbol interpolation. (#17256)quantimnot2021-03-051-9/+19
| | | | | | | | | | Provides a workaround/fix for #7589. https://github.com/nim-lang/Nim/issues/7589 Updated docs and tutorial to reflect change. Updated runnableExamples to include an example. Co-authored-by: name <name@example.com>
* fix #17264 [backport:1.4] (#17266)flywind2021-03-053-4/+7
| | | | | * fix #17264 * fix vm * fix js and add tests
* IC: further progress (#17150)Andreas Rumpf2021-03-052-9/+19
| | | | | | | * IC: respect the -f switch * IC: better rod file inspection * progress
* follow #17245 deprecate refchecks (#17261)flywind2021-03-051-2/+6
| | | | | * follow #17245 deprecate refchecks * changelog * address comments
* deprecate newruntime (#17245)flywind2021-03-041-0/+1
| | | | | | * deprecate newruntime * tests * Update compiler/commands.nim
* followup #17225: simplify code after removing gc2, generational (#17242)Timothee Cour2021-03-033-8/+7
|
* fix #16384 and #17144 (#17126) [backport]flywind2021-03-031-1/+2
|
* Use readable escape sequences (#17241)Clyybber2021-03-031-3/+3
|
* Use nicer escape sequences in renderer.nim (#17239)Clyybber2021-03-021-11/+11
|
* RST heading improvements (fix #17091) (#17195)Andrey Makarov2021-03-021-6/+10
|
* fix #16731: using deprecated flags triggers a warning (#17225)Timothee Cour2021-03-021-23/+19
| | | | | | * using deprecated flags triggers a warning * cleanups * fixup * address comments
* attempt to fix #16374 (#17232)flywind2021-03-021-1/+6
| | | | | | | | | * remove unnecessary when statement * remove outdated codes * attempt to fix #16374 * fix
* fixes #17198, DFA failure on large case stmts (#17210)Saem Ghani2021-03-021-3/+8
| | | | | | This alters the DFA control flow graph generation for case statments. Gotos are now generated as a chained link, this ensures that evaluation of variant branches collapses as early as possible, without hitting the 2k call limit.
* `--nilseqs` is now a deprecated noop (#17211)Timothee Cour2021-03-015-21/+15
| | | | | * --nilseqs is now a deprecated noop * fix tests; fix: future => sugar
* Fix Typos (#17194)Juan Carlos2021-02-271-1/+1
|
* fix code-block test bugs: fix #17183, fix ↵Timothee Cour2021-02-261-1/+7
| | | | | | | https://github.com/timotheecour/Nim/issues/620 (#17184) * fix code-block test bugs: fix #17183, fix https://github.com/timotheecour/Nim/issues/620 * cleanup
* asyncjs: add `then`, `catch` for promise pipelining (#16871)Timothee Cour2021-02-241-1/+7
| | | | | | * asyncjs: add then * improve tests, changelog, API * fix cryptic windows error: The parameter is incorrect * address comments
* compiler/installer.ini: package cacert.pem on Windows [backport:1.2] (#17172)alaviss2021-02-241-0/+1
| | | | | | | | | Follow up of https://github.com/nim-lang/nightlies/commit/5dc544e1f521e94874c22ee5209d38460b968243 After updating windeps.zip, it appears that Windows' build was unchanged. As it turns out, cacert.pem is not set for packaging by the compiler package manifest. This commit add cacert.pem to the Windows package.
* fixes #17170 (#17171)Andreas Rumpf2021-02-242-1/+3
|
* new-style concepts implementation, WIP (#15251)Andreas Rumpf2021-02-2415-56/+419
| | | | | | | | | | | | | * fixes #15210 [backport:1.2] * make tests green * make ordinal work * makes Swapable test compile * make Indexable example work * concepts: 'self' is now 'Self' * concepts: make Dictionary example compile * document the new concept implementation * concepts: make typeDesc work properly * concepts: allow documentation comments (d'oh)
* remove tests/deps/ (#17132)Timothee Cour2021-02-232-2/+4
| | | | | | | | | * remove tests/deps/ * fix tests * fix tests/manyloc/keineschweine/lib/zlib_helpers.nim * fixup
* fix `UnusedImport` for `nim c compiler/nim` (#17152)Timothee Cour2021-02-231-3/+4
|
* Fixes #17039 - ldObj checks node/nodeAddr access (#17123)Saem Ghani2021-02-231-1/+1
| | | | | | Checked field expressions, such as an object variant field access results in occasionally broken address analysis crashing the VM. This guard added here mimics guarded access in ldObjAddr as well. This is to prevent a crash, while a fix is devised.
* when statements branches exit early (#17143)Saem Ghani2021-02-221-0/+1
| | | | | When statement branches exit early outside of nimvm. In nimvm it seems that all sides of the branches must be evaluated as the code gen happens at a later stage, this remains intact.
* make rst.nim use object variant (#17138)Andrey Makarov2021-02-221-2/+2
| | | | | | | * make rst.nim use object variant * add workaround * fix mistake
* fix #17118 (#17119) [backport:1.2]flywind2021-02-221-1/+10
| | | | | * fix js unsigned integer * Use `std` prefix for standard library modules * fix #17118
* Split last read and first write analysis (#17137)Clyybber2021-02-211-20/+42
| | | | | | | | * Split last read and first write analysis This improves performance by 10% for some cases. * Remove outdated comments
* stricter checks for RST headlines (#17089)Andrey Makarov2021-02-203-3/+15
|
* fixes #17085 [backport:1.2] (#17101)Andreas Rumpf2021-02-192-3/+3
|
* fixes #17060 (#17083)Andreas Rumpf2021-02-181-1/+3
|
* fix #17076 (#17081)flywind2021-02-181-1/+5
|
* add -d:nimStrictMode in CI to keep code from regressing; fixes ↵Timothee Cour2021-02-172-2/+1
| | | | ConvFromXtoItselfNotNeeded, UnusedImport notes (#16764)
* clean up old codes (#17071)flywind2021-02-171-6/+1
|
* [minor] clean extccomp (#17069)flywind2021-02-171-21/+16
|
* ARC Analysis in one pass v3 (#17068)Clyybber2021-02-175-124/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Analyse last reads all at once * Integrate firstWrite analysis * Small cleanup * Use sets instead of seqs * Remove instrTargets * Reap the benefits * Implement error diagnostics * Operate on DFA index for lastRead analysis * Use mgetOrPut * Cache alias results This improves performance by a lot, since many CFG locations map to a single PNode * Improve performance * Improve performance * Cleanup * Fix #17025 * Grammar * Expand testcase
* make system random work in VM (#17059)flywind2021-02-173-9/+56
| | | | * make system random work in VM