Commit graph

203 commits

Author SHA1 Message Date
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