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
flywind
f07a072691
[JS + docs] improve std/monotimes module ( #17103 )
2021-02-22 11:09:25 +01:00
Timothee Cour
55a33e1664
testament: support disabled:osx as alias to disabled:macosx ( #17124 )
2021-02-22 11:01:15 +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
Timothee Cour
cde950e1bc
make copySign for js consistent with other backends ( #16609 )
...
* make copySign work more robustly in js
* improve tests
* improve tests/vm/tcastint.nim
2021-02-22 08:47:00 +01:00
flywind
146beb2797
remove unnecessary when statement ( #17135 )
2021-02-21 11:17:25 +01:00
Timothee Cour
e94a3e5fcd
move prelude so that include std/prelude also works ( #17110 )
...
* move prelude so that `include std/prelude` also works
* add test
2021-02-20 18:08:13 +01:00
konsumlamm
bd199a8d31
Improve the strformat module ( #17106 )
...
* Improve the strformat module
Improve documentation
Use runnableExamples
* Fix overflow error for low(int64)
Add test
* Use assert in runnableExamples
* Improve tstrformat
Put tests in proc & test VM
Put tests in blocks
Add c, js targets
* Use doAssert in tests
* Disable JS & VM tests
2021-02-20 18:06:29 +01:00
Timothee Cour
6b3bdd798d
enable bsd for tsetutils; improve setutils API ( #17098 )
2021-02-20 18:02:57 +01:00
Andrey Makarov
d1fec552d0
stricter checks for RST headlines ( #17089 )
2021-02-20 18:01:45 +01:00
Timothee Cour
0fcf1af765
uri: document removeDotSegments, add tests, show failure modes ( #17064 )
...
* uri: document removeDotSegments, add tests, show failure modes
* address comments
2021-02-20 17:58:54 +01:00
flywind
69611ee487
Ref #12700 add testcase ( #17096 )
...
* fix js unsigned integer
* better
* ref #12700 add testcase
2021-02-19 14:09:12 +01:00
Andreas Rumpf
4395a26764
fixes #17085 [backport:1.2] ( #17101 )
2021-02-19 12:30:39 +01:00
flywind
c1a06bd56e
close #13859 ; add testcase ( #17099 )
...
* fix js unsigned integer
* better
* close #13859 ; add testcase
2021-02-19 11:36:35 +01:00
alaviss
ccc0667c29
system/excpt: let the OS handle termination on signal ( #16712 )
2021-02-19 00:29:21 -08:00
Jason Beetham
35ded02074
Add setutils.complement, setutils.fullSet ( #17066 )
2021-02-18 17:33:28 -08:00
flywind
cd274a5ac9
fix stringify unsigned integer in JS and JS VM ( #17086 )
...
* fix js unsigned integer
* better
2021-02-18 20:13:52 +01:00
flywind
301d784256
[nodejs backend] paramStr, paramCount ( #17082 )
2021-02-18 08:26:50 +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
35e14998ec
fix math.frexp function signature ( #16725 )
2021-02-17 19:27:48 +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
Andreas Rumpf
e463a67c74
don't introduce 'dispose', use '=dispose', fixes #17003 [backport:1.4] ( #17062 )
2021-02-17 00:07:37 +01:00
Benoit Favre
81703d4ad4
Fix bug in removeDotSegments: added test ( #17050 )
...
* Fix bug in removeDotSegments when path ends with dot
* Add test for trailing period bug in uri
2021-02-16 20:20:37 +01:00
konsumlamm
0a9a90d991
Improve documentation for bitops ( #16961 )
...
* Improve documentation for bitops
Use func
Use let in runnableExamples
* Remove unnecessary tests
Fix #7587
2021-02-15 21:17:45 +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
konsumlamm
56f5010fa4
Improve the heapqueue module ( #17034 )
...
Improve documentation
Optimize toHeapQueue
Rename siftup and siftdown
Add tests for the heap property
2021-02-15 13:57:15 +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
Saem Ghani
260a5dacb7
fixed dot operator recursive loop & macro suggest ( #16922 )
...
* 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 >
2021-02-15 09:51:05 +01:00
Timothee Cour
fff5819ee7
fix #16978 unittest js foreign exception ( #16998 )
...
* fix #16978 unittest js foreign exception
2021-02-13 09:51:46 +01:00
Timothee Cour
21e60b9a97
followup #17001 : improve coverage for tests/openarray/topenarray.nim ( #17006 )
...
* followup #17001 : improve coverage for tests/openarray/topenarray.nim
2021-02-13 09:33:42 +01:00
hlaaftana
fad8439b8d
Make parseopt available on all backends ( #17009 )
...
* Make parseopt available on all backends
* fix spaces
* fix getopt and update prelude
* no crazy unnecessary version checks, use doAssert
2021-02-13 09:05:40 +01:00
Timothee Cour
4326f743d0
compilesettings: add libpath ( #16997 )
...
* compilesettings: add libpath
* add test
* changelog
* fixup
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-02-12 23:50:41 +01:00
konsumlamm
afa87f223c
Improve math module ( #17019 )
...
* Improve documentation for math
Support empty input for cumsummed
Use runnableExamples
Move some examples to tests
Add more tests
* Update tests/stdlib/tmath.nim
Move some tests to trandom.nim
Move tests into main template where possible
Add test for #17017
* Add more tests for gamma & lgamma
Remove gamma(-1.0) example
Small fixes/changes
* Move more tests into template main()
* Fix typos
* Add edge case examples for copySign
2021-02-12 17:13:39 +01:00
Timothee Cour
e40ff24c23
typeToString: type float => typedesc[float] ( #17011 )
...
* typeToString: type float => typedesc[float]
* fixup
* fix tests
2021-02-12 17:10:20 +01:00
Andrey Makarov
8053ccde2f
parse RST headings when EOF follows them ( #17014 )
2021-02-12 15:08:09 +01:00
flywind
18c24eb4d0
add system random to stdlib: std/sysrand ( #16459 )
2021-02-11 16:00:01 -08:00
hlaaftana
81533a0014
[backport:1.4] JS cstring null fixes ( #16979 )
...
* [backport:1.4] JS cstring null fixes
* fix JS move string
* make it look cleaner
2021-02-11 17:04:32 +01:00
konsumlamm
d4f7f1d8f3
Improve documentation for assertions ( #16988 )
...
* Improve documentation for assertions
* Apply suggestions
Fix tests/assert/tassert_c.nim
* Use runnableExamples
* Move runnableExamples to module scope
2021-02-11 07:21:27 +01:00
flywind
9bd4f503f4
[JS] Ref #15952 make toOpenArray works better ( #17001 )
...
* ref 15952 toOpenArray works in JS
* fix
2021-02-10 18:49:44 +01:00
Clyybber
216be4060a
ARC: Analysis in one pass v2 ( #17000 )
...
* 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
2021-02-10 15:03:57 +01:00
Clyybber
9edf719e1e
Revert "ARC Analysis in one pass ( #16849 )" ( #16984 )
...
This reverts commit ab740cb5b9 .
2021-02-09 15:50:52 +01:00
hlaaftana
49b64e8dc7
Remove declPragmas from lambdas [backport:1.0] ( #16966 )
...
* Remove declPragmas from lambdas [backport:1.0]
* add test for exportc
* fix test
* fix align, nodecl -> noinit
2021-02-09 14:23:06 +01:00
Clyybber
ab740cb5b9
ARC Analysis in one pass ( #16849 )
...
* 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
2021-02-09 14:20:58 +01:00