summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* 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
* fixes #17033 [backport:1.4] (#17061)Andreas Rumpf2021-02-171-3/+19
| | | | | | | * fixes #17033 [backport:1.4] * make test robust against stdlib gensym things * cleanup assertions.nim to make topt_no_cursor easier to get right
* remove all uses of condsyms symbols defined prior to bootstrap nim 0.20.0 ↵Timothee Cour2021-02-173-57/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#16918) * nimNoArrayToCstringConversion deadcode * nimbabel deadcode * nimHasalignOf deadcode * nimvarargstyped deadcode * nimhygiene deadcode * nimNewTypedesc deadcode * nimlocks deadcode * nimHasCppDefine deadcode * nimHasRunnableExamples deadcode * nimHasNilChecks deadcode * nimSymKind deadcode * minor macros refactoring * nimVmEqIdent deadcode * nimNoNil deadcode * nimNoZeroTerminator deadcode * nimHasSymOwnerInMacro deadcode * nimVmExportFixed deadcode * nimNewRuntime deadcode * nimAshr deadcode * nimUncheckedArrayTyp deadcode * nimHasTypeof deadcode * nimErrorProcCanHaveBody deadcode * nimHasHotCodeReloading deadcode * nimHasSignatureHashInMacro deadcode * nimHasDefault deadcode * nimMacrosSizealignof deadcode
* document `since` (#17048)Timothee Cour2021-02-161-5/+3
| | | | * document `since` * address comment
* Revert "ARC: Analysis in one pass v2 (#17000)" (#17046)Clyybber2021-02-155-115/+124
| | | This reverts commit 216be4060a853b3425501318537d598c4842eefc.
* JS: fix div uint64 no truncation (#16899)flywind2021-02-151-1/+4
|
* RST: implement footnotes and citations (#16960)Andrey Makarov2021-02-152-0/+3
| | | | | | | | | * RST: implement footnotes and citations * manual fixup of nimdoc.out.css * remove unused code * shorter printing code * Update lib/packages/docutils/rst.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* array literals uses typed arrays; fix a jsgen bug (#16850)flywind2021-02-151-16/+39
| | | | | | | * array litterals uses typed arrays * Update compiler/jsgen.nim Co-authored-by: Timothee Cour <timothee.cour2@gmail.com> Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fixed dot operator recursive loop & macro suggest (#16922)Saem Ghani2021-02-154-4/+25
| | | | | | | | | | | | | | | | | | * basic stability improvements; refs nimsuggest * fixed dot operator recursive loop & macro suggest * hacky fix for run away dot operator sem check Committing this mostly to make the issue more clear. Perhaps get better feedback. * semExprWithType seems like a better place to check * fixed error messages const case expressions * Clean-up test * stopped the dot operator madness No longer get infinite recursion when seming broken code with a dot operator macro like in jsffi. Co-authored-by: Araq <rumpf_a@web.de>
* compilesettings: add libpath (#16997)Timothee Cour2021-02-122-4/+4
| | | | | | | | | | | * compilesettings: add libpath * add test * changelog * fixup Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* typeToString: type float => typedesc[float] (#17011)Timothee Cour2021-02-121-1/+2
| | | | | | | * typeToString: type float => typedesc[float] * fixup * fix tests
* Display user hints/warnings from foreign packages (#17024)Danil Yarantsev2021-02-121-1/+2
|
* [backport:1.4] JS cstring null fixes (#16979)hlaaftana2021-02-111-3/+19
| | | | | * [backport:1.4] JS cstring null fixes * fix JS move string * make it look cleaner
* fixes a bug that keeps Nimbus from compiling with --gc:orc (#17005)Andreas Rumpf2021-02-111-2/+15
| | | | | * fixes a bug that keeps Nimbus from compiling with --gc:orc * better fix
* unbundle fusion (#16925)Timothee Cour2021-02-111-1/+0
| | | | | | * unbundle fusion * changelog * address comment: `./koch fusion` calls nimble install fusion (at a fixed hash)