Commit Graph

6773 Commits

Author SHA1 Message Date
Clyybber
23393b8478 arc now bootstraps (#17342)
./koch boot --gc:arc works :D
2021-03-12 08:05:54 +01:00
Clyybber
3cbc80045d Fix #14325 (#17308)
* Fix #14325
* Refactor and fix
2021-03-11 14:03:25 +01:00
Andreas Rumpf
2f213db7ee fixes #11225; generic sandwich problems; [backport:1.2] (#17255)
* fixes #11225; generic sandwich problems; [backport:1.2]
* progress
* delegating these symbols must be done via 'bind'
2021-03-09 20:19:24 +01:00
Timothee Cour
d161d27cdd fix #13491 #17279 runnableExamples now don't get lost in translation (#17282)
* fix #13491 runnableExamples rendering
* fix a runnableExamples thanks to this bugfix
2021-03-09 07:09:24 +01:00
Andreas Rumpf
6cb26d8010 IC: compilerprocs are handled correctly (#17265)
* 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
2021-03-09 00:04:39 +01:00
flywind
d1e093207a fix #17267 (#17273)
* 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
2021-03-07 12:13:41 +01:00
Clyybber
38d82795da Fix #16437 (#17277)
* Fix #16437

* Fix

* Small cleanup
2021-03-06 22:35:02 +01:00
quantimnot
b2b23d723a Fix macros.quote custom op symbol interpolation. (#17256)
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>
2021-03-05 14:41:33 +01:00
flywind
171b03c386 fix #17264 [backport:1.4] (#17266)
* fix #17264
* fix vm
* fix js and add tests
2021-03-05 14:39:46 +01:00
Andreas Rumpf
8f1fa3e5b0 IC: further progress (#17150)
* IC: respect the -f switch

* IC: better rod file inspection

* progress
2021-03-05 09:58:55 +01:00
flywind
f8cfe330b3 follow #17245 deprecate refchecks (#17261)
* follow #17245 deprecate refchecks
* changelog
* address comments
2021-03-05 09:50:57 +01:00
flywind
e1cc3b83fb deprecate newruntime (#17245)
* deprecate newruntime
* tests
* Update compiler/commands.nim
2021-03-04 19:33:16 +01:00
Timothee Cour
f561afae41 followup #17225: simplify code after removing gc2, generational (#17242) 2021-03-03 13:37:42 +01:00
flywind
6391f6e861 fix #16384 and #17144 (#17126) [backport] 2021-03-03 11:58:50 +01:00
Clyybber
507873be25 Use readable escape sequences (#17241) 2021-03-03 07:15:07 +01:00
Clyybber
87897fa2d6 Use nicer escape sequences in renderer.nim (#17239) 2021-03-02 22:47:52 +01:00
Andrey Makarov
02f4464058 RST heading improvements (fix #17091) (#17195) 2021-03-02 16:41:10 +01:00
Timothee Cour
a0daa7a76d fix #16731: using deprecated flags triggers a warning (#17225)
* using deprecated flags triggers a warning
* cleanups
* fixup
* address comments
2021-03-02 13:07:05 +01:00
flywind
5628cd5de1 attempt to fix #16374 (#17232)
* remove unnecessary when statement

* remove outdated codes

* attempt to fix #16374

* fix
2021-03-02 19:41:55 +08:00
Saem Ghani
ab780f66ef fixes #17198, DFA failure on large case stmts (#17210)
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.
2021-03-02 10:32:43 +01:00
Timothee Cour
6c5872c169 --nilseqs is now a deprecated noop (#17211)
* --nilseqs is now a deprecated noop

* fix tests; fix: future => sugar
2021-03-01 20:59:43 +01:00
Juan Carlos
26a6ceb34e Fix Typos (#17194) 2021-02-27 09:51:54 +08:00
Timothee Cour
ff3ace2232 fix code-block test bugs: fix #17183, fix https://github.com/timotheecour/Nim/issues/620 (#17184)
* fix code-block test bugs: fix #17183, fix https://github.com/timotheecour/Nim/issues/620

* cleanup
2021-02-26 16:05:20 +01:00
Timothee Cour
a4e6b242d5 asyncjs: add then, catch for promise pipelining (#16871)
* asyncjs: add then
* improve tests, changelog, API
* fix cryptic windows error: The parameter is incorrect
* address comments
2021-02-24 21:03:21 +01:00
alaviss
d35f366d6f compiler/installer.ini: package cacert.pem on Windows [backport:1.2] (#17172)
Follow up of 5dc544e1f5

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.
2021-02-24 17:57:19 +01:00
Andreas Rumpf
e9a287fe12 fixes #17170 (#17171) 2021-02-24 17:43:13 +01:00
Andreas Rumpf
6278b5d89a new-style concepts implementation, WIP (#15251)
* 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)
2021-02-24 13:17:33 +01:00
Timothee Cour
5d95137ce0 remove tests/deps/ (#17132)
* remove tests/deps/

* fix tests

* fix tests/manyloc/keineschweine/lib/zlib_helpers.nim

* fixup
2021-02-23 13:31:53 +01:00
Timothee Cour
b1a3651ae4 fix UnusedImport for nim c compiler/nim (#17152) 2021-02-23 10:40:40 +01:00
Saem Ghani
7c2ac98880 Fixes #17039 - ldObj checks node/nodeAddr access (#17123)
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.
2021-02-23 09:02:06 +01:00
Saem Ghani
2aba116bbc when statements branches exit early (#17143)
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.
2021-02-22 12:27:23 +01:00
Andrey Makarov
fab1618eb4 make rst.nim use object variant (#17138)
* make rst.nim use object variant

* add workaround

* fix mistake
2021-02-22 11:00:31 +01:00
flywind
32bf10126c fix #17118 (#17119) [backport:1.2]
* fix js unsigned integer
* Use `std` prefix for standard library modules
* fix #17118
2021-02-22 09:14:18 +01:00
Clyybber
6b7a6f8c54 Split last read and first write analysis (#17137)
* Split last read and first write analysis

This improves performance by 10% for some
cases.

* Remove outdated comments
2021-02-21 16:20:05 +01:00
Andrey Makarov
d1fec552d0 stricter checks for RST headlines (#17089) 2021-02-20 18:01:45 +01:00
Andreas Rumpf
4395a26764 fixes #17085 [backport:1.2] (#17101) 2021-02-19 12:30:39 +01:00
Andreas Rumpf
8fd1ed6dfe fixes #17060 (#17083) 2021-02-18 12:15:21 +01:00
flywind
8873ec6084 fix #17076 (#17081) 2021-02-18 06:59:58 +01:00
Timothee Cour
31bb67a309 add -d:nimStrictMode in CI to keep code from regressing; fixes ConvFromXtoItselfNotNeeded, UnusedImport notes (#16764) 2021-02-17 19:30:09 +01:00
flywind
8d63f7b483 clean up old codes (#17071) 2021-02-17 19:26:08 +01:00
flywind
874ccc8493 [minor] clean extccomp (#17069) 2021-02-17 15:48:17 +01:00
Clyybber
aa3af9e053 ARC Analysis in one pass v3 (#17068)
* 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
2021-02-17 14:17:35 +01:00
flywind
4f118721be make system random work in VM (#17059)
* make system random work in VM
2021-02-17 11:52:46 +01:00
Andreas Rumpf
f32ffb6ed8 fixes #17033 [backport:1.4] (#17061)
* fixes #17033 [backport:1.4]

* make test robust against stdlib gensym things

* cleanup assertions.nim to make topt_no_cursor easier to get right
2021-02-17 11:00:03 +01:00
Timothee Cour
b9994925f5 remove all uses of condsyms symbols defined prior to bootstrap nim 0.20.0 (#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
2021-02-17 09:32:36 +01:00
Timothee Cour
b187caeb87 document since (#17048)
* document `since`
* address comment
2021-02-16 20:20:01 +01:00
Clyybber
70b9e9962f Revert "ARC: Analysis in one pass v2 (#17000)" (#17046)
This reverts commit 216be4060a.
2021-02-15 18:31:15 +01:00
flywind
339ebe958d JS: fix div uint64 no truncation (#16899) 2021-02-15 14:22:46 +01:00
Andrey Makarov
35bd39a9d0 RST: implement footnotes and citations (#16960)
* 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>
2021-02-15 14:12:40 +01:00
flywind
240879bf3d array literals uses typed arrays; fix a jsgen bug (#16850)
* 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>
2021-02-15 11:28:11 +01:00