Araq
7fb256bded
fixes #8053
2019-05-15 12:25:31 +02:00
Clyybber
cc28eef38e
Replace countup(x, y) with x .. y
2019-05-07 12:37:28 +02:00
Clyybber
f18b3af9d4
Replace countup(x, y-1) with x ..< y
2019-05-07 12:32:05 +02:00
Andreas Rumpf
e1515b53d1
introduce temporary <//> for 'owned' to get this compile with 0.19 ( #11145 )
...
* introduce temporary <//> for 'owned' to get this compile with 0.19
* make newTable[string, owned Node]() compile (but it crashes)
* make sink/owned parameters consistent
* make actiontable test compile again
* VM: support sytem.move; makes tests green
2019-05-02 08:07:09 +02:00
Jasper Jenkins
e64dde734b
Fixes #11078 ( #11079 )
...
* Fixes #11078
* Move to existing runnableExamples, update the expected html.
* Remove second comment token.
2019-04-23 14:20:27 +02:00
Araq
fb3681b425
make the CIs happy
2019-04-17 21:35:50 +02:00
Araq
7640a230fc
fixes #11050
2019-04-17 17:26:59 +02:00
Araq
6617b8deee
make tests green again
2019-04-10 08:41:38 +02:00
Araq
72408842d9
koch.nim compiles with --newruntime
2019-04-09 21:25:36 +02:00
Andreas Rumpf
f08e90f0d6
more efficient enumToStr implementation that works without the old typeinfo structures
2019-04-07 21:14:54 +02:00
Andreas Rumpf
efeee326f8
destructors: progress
2019-04-05 12:38:30 +02:00
cooldome
795de374fb
fixes destructor tuple regression #10940 ( #10941 )
...
* fixes #10940
* bug fixes
* fix spacing
2019-04-04 20:46:02 +01:00
Araq
c3067e36bb
newruntime: progress
2019-04-01 16:51:18 +02:00
Araq
3cf846e02c
fixes #10904
2019-03-26 16:12:47 +01:00
Andreas Rumpf
bf592c4e94
more destructor based changes ( #10885 )
...
* mark user defined destructors with sfOverriden to simplify the logic
* refactoring in preparation to merge liftings and generic instantiations for destructors
* ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on
* renamed 'patterns' switch to 'trmacros' as it was totally misleading before
* destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking
* test for invalid/too late destructor introductions
* liftdestructors: make code robust for nimsuggest
* --newruntime works for hello world again
* newruntime: code generation for closures
2019-03-23 00:12:05 +01:00
cooldome
8ceba8a7f3
fixes #10807 ( #10814 )
...
* fixes #10807
* use nkAddr instead of nkHiddenAddr
2019-03-12 13:45:05 +01:00
Andreas Rumpf
e3e4cd9fd5
make tests green again
2019-03-06 09:26:48 +01:00
Andreas Rumpf
c86b1fbcac
fixes a critical GC safety inference bug ( #10615 )
...
* fixes a critical GC safety inference bug
* make nimsuggest compile again
* make Nimble compile again
2019-03-05 19:54:44 +01:00
Andreas Rumpf
f55d094cf2
fixes #6955
2019-02-13 23:30:14 +01:00
LemonBoy
f23b0a7dc8
Fix handling of reraise in effect tracking ( #10582 )
...
This is the MVP in order not to get a completely useless error message
from the compiler.
Fixes #10579
2019-02-07 17:07:03 +01:00
LemonBoy
4c3f841212
Do not raise ProveInit/WanrUninit for .noinit. var ( #10566 )
2019-02-06 09:14:09 +01:00
LemonBoy
3ce6b2acb9
Fix exception tracking in try blocks ( #10455 )
...
Exceptions raised inside a nkFinally/nkExcept block are not caught by
the block itself.
Fixes #3886
2019-01-27 10:32:44 +01:00
Andreas Rumpf
11022fea1b
control flow graphs: introduce 'join' points for easy analyses based on abstract interpretation
2019-01-23 11:08:51 +01:00
Andreas Rumpf
413580bc04
new minor language feature: .noSideEffect blocks like .gcsafe blocks
2018-11-27 00:36:29 +01:00
Andreas Rumpf
cb4d810659
make Nim take roughly 100MB less RAM for bootstrapping via a new compiler switch -d:leanCompiler; useful for the Raberry PI
2018-11-07 18:36:52 +01:00
cooldome
eaca5be9d6
Change the order of compilation passes, transformation is made lazy at code gen ( #8489 )
...
* Ast no transformation
* Add getImplNoTransform to the macros module
* progress on delaying transf
* Fix methods tranformation
* Fix lazy lambdalifting
* fix create thread wrapper
* transform for lambda lifting
* improve getImplTransformed
* Fix destructor tests
* try to fix nimprof for linux
2018-10-18 20:21:25 +02:00
Araq
64517445ea
even more strict isNil handling for strings/seqs in order to detect bugs
2018-08-22 12:35:46 +02:00
LemonBoy
ebf4e9f717
Extend init variable tracking to tuple assignments ( #8321 )
...
Fixes #8314
2018-07-17 17:50:05 +02:00
cooldome
dec97924a4
Custom pragmas in proc types ( #8205 )
2018-07-09 12:11:03 +02:00
Andreas Rumpf
40ec7be45c
refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly
2018-05-27 22:09:15 +02:00
Andreas Rumpf
669a564492
remove more global variables in the Nim compiler
2018-05-27 11:10:56 +02:00
Araq
2a7fc84c86
remove ast.emptyNode global; cleanup configuration.nim
2018-05-16 03:06:07 +02:00
Araq
02b78d3f94
make tests green again
2018-05-14 21:38:18 +02:00
Andreas Rumpf
328e7a1005
options.nim: no global variables anymore
2018-05-13 17:52:21 +02:00
Andreas Rumpf
2e76a92fe1
sempass2 compiles again
2018-05-11 14:18:39 +02:00
Andreas Rumpf
7eb39d9d26
guards.nim does compile
2018-05-11 13:07:16 +02:00
cooldome
16c1a90857
Cpp codegen: handling of imported exceptions. Fixes #3571 ( #7360 )
2018-04-10 12:14:59 +02:00
cooldome
5460bd2764
Small performance improvement in sempass2 ( #7168 )
2018-02-01 18:34:37 +01:00
Yuriy Glukhov
d84ace8a5b
Fixes #7140 ( #7154 )
2018-01-30 15:25:41 +01:00
Araq
2502f86d2f
next steps in giving Nim a decent DFA infrastructure
2017-12-18 13:12:10 +01:00
Araq
f2e13909d3
fixes not-nil regression
2017-11-23 03:26:33 +01:00
Araq
96ddf6972d
fixes #3993
2017-11-23 03:12:09 +01:00
Araq
8a601669ef
fixes #6489
2017-11-23 02:32:51 +01:00
Araq
df13b2a892
fixes #6555
2017-11-23 01:17:13 +01:00
Andreas Rumpf
70ea45cdba
deprecated unary '<'
2017-10-29 08:37:13 +01:00
Andreas Rumpf
e6f0bff6dd
make tests green again
2017-10-15 09:32:53 +02:00
Araq
3aaf1e4980
make httpclient compile again via a workaround
2017-10-15 00:52:22 +02:00
Araq
9af9480340
fixes #5620
2017-10-14 22:35:20 +02:00
Andreas Rumpf
ec253ada72
initial version of the new untested destructor pass
2017-10-12 11:32:29 +02:00
Andreas Rumpf
7eaa2474a2
disable the new DFA
2017-10-09 21:12:40 +02:00