summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* 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)
* [JS] Ref #15952 make toOpenArray works better (#17001)flywind2021-02-101-10/+19
| | | | | * ref 15952 toOpenArray works in JS * fix
* ARC: Analysis in one pass v2 (#17000)Clyybber2021-02-105-124/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Revert "ARC Analysis in one pass (#16849)" (#16984)Clyybber2021-02-095-106/+121
| | | This reverts commit ab740cb5b9bfbacece26956fa2444763a790ccd1.
* Remove declPragmas from lambdas [backport:1.0] (#16966)hlaaftana2021-02-091-6/+7
| | | | | | | | | * Remove declPragmas from lambdas [backport:1.0] * add test for exportc * fix test * fix align, nodecl -> noinit
* ARC Analysis in one pass (#16849)Clyybber2021-02-095-121/+106
| | | | | | | | | | | | | | | | | | | * 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
* fix #16947: `--app:staticlib -o:lib` now first removes lib (#16948)Timothee Cour2021-02-081-0/+1
|
* rename case statement macro from match to `case` (#16923)hlaaftana2021-02-081-3/+3
| | | | | * rename case statement macro from match to `case` * fix test
* fix #16949 --app:staticlib works on openbsd; --app:staticlib tested in CI ↵Timothee Cour2021-02-081-2/+2
| | | | (#16950)
* use typeof instead type (#16962)flywind2021-02-084-6/+6
|
* quote nim command on compile (#16954)n5m2021-02-071-1/+1
|
* remove a temporary variable in int128.nim (#16935)flywind2021-02-041-35/+34
|
* IC: bugfixes (WIP) (#16836)Andreas Rumpf2021-02-0218-98/+209
| | | | | | | | * minor improvements * IC: added the required logic for compilerProcs * LazySym ftw * we need this testing logic * reimplement the old way we use for module package creation * fixes a regression; don't pick module names if you can avoid it
* add finally as post expr block [backport:1.4] (#16896)hlaaftana2021-02-011-1/+5
|
* fixes #16897 [backport:1.2] (#16900)Andreas Rumpf2021-02-011-1/+1
|