Commit graph

82 commits

Author SHA1 Message Date
Andreas Rumpf
0803b532f4 fixes #9263 2018-10-10 21:00:54 +02:00
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
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
Andreas Rumpf
9364369c1f make tests green again 2018-09-24 16:00:57 +02:00
Andreas Rumpf
700448f359 destroyer pass: adaptations for the new destructor based runtime 2018-07-27 18:21:32 +02:00
Andreas Rumpf
32afdc09c6 WIP: strings/seqs based on destructors 2018-07-17 13:19:42 +02:00
Andreas Rumpf
61fb83ecbb baby steps for incremental compilation 2018-05-30 23:50:34 +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
Andreas Rumpf
fedc136985 transf and vmgen compile again 2018-05-12 09:38:41 +02:00
Andreas Rumpf
d8dd43e500 fixes #7757 2018-05-06 10:50:04 +02:00
Andreas Rumpf
542618da70 sink parameters: next steps 2018-04-01 17:59:54 +02:00
Andreas Rumpf
455dd36135 destructors: first version of 'sink' parameter logic 2018-03-31 20:27:08 +02:00
Araq
9de05ec3e0 further steps in implementing sink parameters; refs #7041 2018-03-30 02:32:13 +02:00
Andreas Rumpf
e4081a7201 preparations for language extensions: 'sink' and 'lent' types 2018-01-07 23:09:26 +01:00
Andreas Rumpf
64d583d6ca destroyer pass: disable debug output 2017-12-30 12:55:53 +01:00
Araq
fa92c519aa more progress on destructors; removed old destructor based code as it proved confusing 2017-12-01 01:52:00 +01:00
Araq
c43f718301 destructors: some improvements for bug #4214: object constructors are moved too 2017-11-29 00:01:27 +01:00
Araq
4f2b79a380 topttree destructor finally works 2017-10-26 00:55:23 +02:00
Araq
b407f083ba destructors: work in progress 2017-10-26 00:55:23 +02:00
Andreas Rumpf
4f633dde64 make nested custom seqs work 2017-10-19 13:29:11 +02:00
Andreas Rumpf
a0c5260c20 destructors: bugfix: lhs of assignment is irrelevant 2017-10-17 13:09:28 +02:00
Araq
45d74f4081 destructors: preparations for upcoming changes 2017-10-17 12:46:49 +02:00
Andreas Rumpf
4eaa2bf15d improve code generation for custom strings/seqs 2017-10-14 20:37:49 +02:00
Andreas Rumpf
5dca695bcf new destroyer pass works with procs too 2017-10-13 07:00:52 +02:00
Andreas Rumpf
63530be0b8 introduce --newruntime switch for the upcoming destructors and move semantics 2017-10-13 06:38:59 +02:00
Andreas Rumpf
a2e4ab2e4e simple programs now work with the new destroyer pass 2017-10-12 17:42:15 +02:00
Andreas Rumpf
ec253ada72 initial version of the new untested destructor pass 2017-10-12 11:32:29 +02:00
Andreas Rumpf
91981c07bd some progress on destroyer.nim 2017-10-10 13:17:35 +02:00
Andreas Rumpf
083cb00e8d added a minor note to destroyer.nim 2017-10-10 11:26:29 +02:00
Andreas Rumpf
cf01cb1935 preparations for a new AST transformation pass with the aim of giving us reliable destructors 2017-10-09 21:12:40 +02:00