Commit Graph

4709 Commits

Author SHA1 Message Date
LemonBoy
ee14ace5d3 Field checks for everybody (#8957)
* Field checks for JS backend

* Clean nkCall nodes with no arguments

Generating a nkEmpty in place of no arguments makes no sense form the
AST point of view and also trips up the VM codegen.

* Field checks for VM backend

* Test case for #6612

This patchset fixes #6612

* Add test case for LHS double evaluation

* Prevent LHS double-eval for JS backend

* Prevent double evaluation in VM backend
2018-10-09 19:54:12 +02:00
LemonBoy
a3fb0a769c Try/Catch support for native JS exceptions (#8955)
* Try/Catch support for native JS exceptions

* Better tests
2018-10-09 19:51:29 +02:00
LemonBoy
f98a3056c6 Fix transformation of yield in inline context (#9135)
When the loop variables are part of the envP block it is not safe to use
a nkFastAsgn.

Fixes #2656
2018-10-09 19:43:31 +02:00
LemonBoy
b97a7dbf3d Make the registered passes local to the ModuleGraph (#9259)
Closes #9068
2018-10-09 19:24:02 +02:00
LemonBoy
8a1055adce Fix range type construction in the VM (#9205)
The `range[X,Y]` representation is wrong, we use `range[X .. Y]`
instead.

Fixes #9194
2018-10-09 15:51:49 +02:00
cooldome
036c52f0b6 fixes #9222 (#9224) 2018-10-09 15:19:21 +02:00
LemonBoy
d36f98fa8b nim doc can run code blocks (#9228) 2018-10-09 14:58:40 +02:00
xzfc
505ae14f4b Codegen fix for procs taking type(nil) (#9231) 2018-10-09 14:51:34 +02:00
LemonBoy
b8d2f79ef0 Prevent the construction of recursive tyStatic types (#9256)
Fixes #9255
2018-10-09 14:26:34 +02:00
Dheepak Krishnamurthy
70018aa683 Add checks for except: body blocks (#9191) 2018-10-09 14:09:22 +02:00
jcosborn
dd65986795 fixes #4435 (#9185) 2018-10-09 13:34:03 +02:00
Araq
82693514c5 attempt to fix the .line pragma 2018-10-03 01:25:47 +02:00
Araq
c92fdb24c8 fixes #5015 2018-10-03 00:00:19 +02:00
Araq
bf85955802 fixes #7092 2018-10-02 23:45:27 +02:00
Araq
7ac1e6e528 fixes #5479 2018-10-02 23:31:39 +02:00
Araq
f673fbd91f fixes #6533 2018-10-02 19:54:02 +02:00
Araq
7935c4aa5a C++ codegen: emit correctly typed code for closures in 'const'; refs #7870 2018-10-02 19:35:24 +02:00
Araq
7bac21ac23 ccgtypes: improve internal documentation 2018-10-02 19:33:29 +02:00
Araq
6f23b05c09 docgen: fixes typo 2018-10-02 16:18:16 +02:00
Araq
621b2db2e8 compiler IC: minor improvements 2018-10-02 16:18:16 +02:00
Araq
ae901b3272 fixes #7351 2018-10-02 16:18:16 +02:00
Araq
f98352a498 compiler: fixes path generation for .line pragma 2018-10-02 16:18:16 +02:00
Araq
76aab9baf1 compiler: make symbolfiles feature compile again 2018-10-02 16:18:15 +02:00
Araq
34398a9d66 fixes #9140 2018-10-01 15:07:41 +02:00
Araq
47653882ef compiler: minor documentation improvement 2018-10-01 14:54:31 +02:00
LemonBoy
6d4503325c Fix regression with runnableExamples in generic expr
The examples should not enter the generic analysis at all.
The regression was introduced in 4cf704bb as a fix for #8694.

Fixes #9130
Fixes #8694
2018-09-30 14:11:53 +02:00
Sergey Avseyev
c1f677a7c9 fix extension passing for rst2tex command 2018-09-29 23:24:57 +03:00
Araq
40e01d8549 don't require an implementation for procs marked with .error; activate the move optimizer for destructors 2018-09-29 16:54:59 +02:00
LemonBoy
a1083d7c43 Fix codegen for some set operations
Taking the LHS type when a temporary result value was needed lead to bad
code being generated if we get a tyRef.

Fixes #9098
2018-09-28 09:59:45 +02:00
Andreas Rumpf
959e3a08b1 Merge pull request #9085 from LemonBoy/fix-9079
Constant folding should not drop distinct types
2018-09-28 09:29:09 +02:00
Araq
4046ee818f fixes #9083 2018-09-27 22:34:06 +02:00
LemonBoy
e9b5a4e25d Constant folding should not drop distinct types
Fixes #9079
2018-09-27 17:08:01 +02:00
Araq
787687727a fixes #9076 2018-09-26 11:32:02 +02:00
Araq
548fc778c9 .error for routines now can also have a custom error message; improve error message for 'nil' strings 2018-09-25 00:28:39 +02:00
Araq
8029a649ba math.nim: document what to use instead of 'fmod' 2018-09-25 00:10:21 +02:00
Andreas Rumpf
9a9005622b make t7346 work again 2018-09-24 16:00:57 +02:00
Andreas Rumpf
9364369c1f make tests green again 2018-09-24 16:00:57 +02:00
Andreas Rumpf
c38a608c90 C codegen: support system.move and system.wasMoved 2018-09-24 16:00:57 +02:00
Andreas Rumpf
3c461755e2 enable destructors for top level statements; needs to be documented 2018-09-24 16:00:57 +02:00
Andreas Rumpf
fedd695d76 Merge pull request #9046 from LemonBoy/fix-9043
Fix for VM codegen with static[T] types
2018-09-23 23:08:35 +02:00
LemonBoy
fb54f394e8 Fix for VM codegen with static[T] types
Fixes #9043
2018-09-23 18:17:00 +02:00
Andreas Rumpf
179791aa9a Merge pull request #8746 from LemonBoy/nil-opts
nil strings are movable
2018-09-23 07:51:22 +02:00
LemonBoy
7a087ffb29 nil strings are movable 2018-09-22 20:47:49 +02:00
Andreas Rumpf
b2727d03a6 Merge pull request #9020 from LemonBoy/fix-9019
Revert #7964
2018-09-22 13:53:58 +02:00
Araq
af0c497f5d fixes #8081 2018-09-22 13:52:40 +02:00
Andreas Rumpf
0930ec72d9 Merge pull request #9028 from LemonBoy/fix-8985
Fix locals() interaction with generic types
2018-09-22 09:11:33 +02:00
LemonBoy
e07ab06f0a Fix locals() interaction with generic types
Follow the same logic as semTupleFieldsConstr and only skip skVar since
we're gonna add a nkDefer anyway.

Fixes #8985
2018-09-21 22:35:54 +02:00
Jörg Wollenschläger
c29d9f0382 Allow custom pragmas on more symbols again 2018-09-22 03:32:04 +09:00
LemonBoy
4d9aec1858 Revert #7964
Somehow the test case doesn't crash anymore and the regression in the
doc generation is fixed.

Fixes #9019
2018-09-21 18:59:46 +02:00
Andreas Rumpf
6b5e2adfd0 niminst: don't depend on NIMINSTDEPS environment variable anymore 2018-09-21 09:09:52 +02:00