PMunch
9acbf99efb
Allow let to not have value when using importc ( #14258 )
...
* Allow let to not have value when using importc
This allows a let statement with the `{.importc.}` pragma to not be
initialised with a value. This allows us to declare C constants as Nim
lets without putting the value in the Nim code (which can lead to
errors, and requires us to go looking for the value). Fixes #14253
* Proper fix and documentation + changelog entry
* Improve testcase with one from timotheecour
* Add test to verify it working with macros
2020-05-12 20:28:18 +02:00
b3liever
09ea8f9cf8
fix detecting closure env for nested asts ( #14326 )
...
Co-authored-by: b3liever <b3liever@yandex.com >
2020-05-12 20:09:56 +02:00
Timothee Cour
de74362213
fix #14314 do not analyze importc procs for effects ( #14319 )
2020-05-12 16:19:03 +02:00
Andreas Rumpf
06dfd31612
fixes #13881
...
* fixes #13881
* documented changed requirements for system.onThreadDestruction
* destructors.rst: update the documentation
2020-05-12 15:46:24 +02:00
cooldome
4277ab470a
fix one motr dicriminator bug
2020-05-12 12:45:34 +01:00
cooldome
dfae796ac3
fix test
2020-05-12 11:45:14 +01:00
cooldome
2d7ccf0928
fix #14312
2020-05-12 10:23:05 +01:00
Timothee Cour
b8ec07f19e
properly fixes #13758 so that import std/macros stays legal ( #14291 )
...
* properly fix https://github.com/nim-lang/Nim/issues/12389
* use --lib:lib in koch.nim.cfg instead
* third time is the charm
2020-05-12 08:27:47 +02:00
cooldome
a39123c93c
fix #14219 ( #14225 )
...
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-05-11 23:11:20 +02:00
Kaushal Modi
86669ef5b4
Make --backend:cpp|js work for :test: code-blocks as well ( #14306 )
...
Continues 9502e39b63
Ref:
- 9502e39b63 (commitcomment-39087584)
- https://github.com/nim-lang/Nim/pull/14278
Fixes https://github.com/nim-lang/Nim/issues/13129 .
2020-05-11 20:45:35 +02:00
b3liever
a081b10b54
small refactoring ( #14303 )
...
Co-authored-by: Antonis <b3liever@yandex.com >
2020-05-11 19:12:25 +02:00
cooldome
fee71d466c
fix #14294 ( #14301 )
...
* fix #14294
* fix orc as well
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-05-11 19:10:54 +02:00
Andreas Rumpf
03c146cd93
do not track 'raise Defect' in the .raises: [] clause anymore ( #14298 )
...
* do not track 'raise Defect' in the .raises: [] clause anymore
* --panics:on maps 'raise Defect' to an unrecoverable fatal error
* make tests green again
* update the documentation too
2020-05-11 16:25:56 +02:00
Antonis
517dd800f8
better error message
2020-05-11 15:39:44 +02:00
Antonis
3616b0698b
fix closure env check
2020-05-11 15:39:44 +02:00
Jovial Joe Jayarson
14f76f721d
refactor: renamed readme to readme.md ( #14283 )
2020-05-11 13:50:40 +02:00
Timothee Cour
9502e39b63
nim doc --backend:js, nim doc --doccmd:-d:foo, nim r --backend:js, --doccmd:skip + other improvements (#14278 )
...
* `nim doc --backend:js|cpp...`
`nim doc --doccmd:'-d:foo --threads:on'`
`nim r --backend:cpp...` (implies --run --usenimcache)
* --usenimcache works with all targets
* --docCmd:skip now skips compiling snippets; 50X speedup for doc/manual.rst
2020-05-11 12:01:18 +02:00
Timothee Cour
dda6f3f6d4
nim doc -r main and nim rst2html -r main now call openDefaultBrowser (#14285 )
2020-05-10 09:23:01 +02:00
Clyybber
8e93105606
Fix #14269 ( #14286 )
2020-05-09 18:22:25 +02:00
Timothee Cour
411be506a3
--hint:processing (+friends) is now supported and means --hint:processing:on, like all other bool flags ( #14271 )
2020-05-08 18:54:16 +02:00
Andreas Rumpf
bae8e95b73
fix root cause of https://github.com/dom96/choosenim/issues/193 ; config/config.nims should get installed ( #14267 )
2020-05-08 16:14:10 +02:00
Timothee Cour
363b7ff3b8
fix https://github.com/nim-lang/Nim/issues/14275 querySetting(nimcacheDir) works even if implicitly set ( #14277 )
2020-05-08 16:13:07 +02:00
hlaaftana
de27910ab7
make from an operator ( #14241 )
2020-05-08 07:54:46 +02:00
Timothee Cour
ee15437aed
fix root cause of https://github.com/dom96/choosenim/issues/193 ; config/config.nims should get installed
2020-05-07 15:01:46 -07:00
cooldome
5fa7d374c4
fix #14243 ( #14257 )
...
* fix #14243
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-05-07 22:15:25 +02:00
Clyybber
42db75c970
Fix the DFA for "unstructured controlflow" ( #14263 )
...
* Fix the DFA for "unstructured controlflow"
* Add testcase from #14233
2020-05-07 21:41:55 +02:00
cooldome
0d8507cd3d
fix #14236 ( #14250 )
...
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-05-07 00:13:59 +02:00
cooldome
6dba06f9e6
fixes #14244 ( #14248 )
...
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-05-06 20:43:18 +02:00
Andreas Rumpf
c64db68f0b
added a new feature: --cc:env so that you can use any C compiler as long as it works like GCC
2020-05-06 18:41:24 +02:00
Andreas Rumpf
1b2b32169a
cleanup the CC setting, only leave in there what is at least semi-officially supported
2020-05-06 18:41:24 +02:00
Timothee Cour
c28a057a6b
fix js stacktraces, unify all file,line,col formatting into a single function ( #14230 )
...
* fix https://github.com/timotheecour/Nim/issues/135 ; unify all file,line,col formatting into a single function
2020-05-05 14:56:15 +02:00
Andreas Rumpf
64e839d5fd
fixes #14209 [backport:1.2] ( #14213 )
...
* fixes #14209 [backport:1.2]
* improve stability
2020-05-05 00:48:13 +02:00
cooldome
e86a6d24d5
vcc fix ( #14222 )
...
Co-authored-by: cooldome <ariabushenko@bk.ru >
2020-05-04 19:42:29 +02:00
Timothee Cour
a23302ef56
fix https://github.com/timotheecour/Nim/issues/152 : avoid writing spurious ^[[0m to stderr when callStyledWriteLineStderr not called ( #14214 )
...
* fix https://github.com/timotheecour/Nim/issues/152 `^[[0m` is inserted in stderr for `echo code | nim c -`
* resetAttributes not even needed, already handled in styledWriteLine
* simplify tests in tests/trunner.nim thanks to this fix
2020-05-04 15:07:32 +02:00
Timothee Cour
f115e40e6a
echo cmd | nim r - -arg1 -arg2 now works (#14210 )
2020-05-04 11:27:59 +02:00
Andreas Rumpf
b6fb609e0d
destructors: don't produce stupid code for 'cast' ( #14208 ) [backport:1.2]
...
* destructors: don't produce stupid code for 'cast'
* fixes #14207
2020-05-04 07:43:22 +02:00
Andreas Rumpf
49b28f1997
fixes #14136 ( #14198 )
2020-05-03 00:12:52 +02:00
Araq
7f1d2489ad
improve the 'has to be discarded' error message
2020-05-02 22:31:19 +02:00
Araq
87ac28d19a
fixes #14159 [backport:1.2]
2020-05-02 22:31:19 +02:00
Araq
4301a7bdf0
fixes #14177
2020-05-02 22:31:19 +02:00
Araq
15f54728ef
fixes a bug encountered when running 'nim check posix_haiku.nim'
2020-05-02 22:31:19 +02:00
Clyybber
83547ec769
Make unreachable else in case statements a warning instead of an error ( #14190 )
...
* Fix #14019 by making trailing else a warning
* Rename to UnreachableElse
2020-05-02 16:09:02 +02:00
Clyybber
1f1e4de3bc
Make ./koch temp --gc:arc work ( #14186 )
2020-05-01 20:25:18 +02:00
Andreas Rumpf
d5fc35c968
arc: do not unload globals when building a library [backport:1.2] ( #14180 )
2020-05-01 09:15:46 +02:00
Andreas Rumpf
cf3e0008b9
fixes #13986 [backport:1.2] ( #14173 )
2020-04-30 19:32:03 +02:00
Clyybber
d6e1b5c070
Fix #14160 ( #14161 )
...
* Fix #14160
* Add testcase
2020-04-30 02:01:07 +02:00
Araq
bd57f0cd32
fixes another silly arc/orc bug [backport:1.2]
2020-04-29 22:14:01 +02:00
Andreas Rumpf
d9e907c0e2
fixes #14079 [backport:1.2] ( #14163 )
2020-04-29 21:58:59 +02:00
hlaaftana
707367e1ca
many bugfixes for js ( #14158 )
...
* many bugfixes for js
fixes #12672 , fixes #14153 , closes #14123 , closes #11331 , fixes #11783 , fixes #13966 , fixes #14087 , fixes #14117 , closes #12256 .
mostly fixes the fact that it was allowed to assign to newly created temp variables. additionally attempts to get rid of null initialized seqs/strings (though they might pop up here and there); this simplifies a lot of things and makes code size smaller. even if null seqs/strings pop up here and there it's still better than all those bugs existing.
* formatting fixes
* CI fixes
* more CI fixes
2020-04-29 20:55:09 +02:00
hlaaftana
800ce5b950
Fix negative indexed arrays for JS, refs #13966 ( #14152 )
...
* Fix negative arrays for JS, refs #13966
* small extra fix: no need to .slice() cstring in JS
2020-04-29 08:59:08 +02:00