Commit Graph

230 Commits

Author SHA1 Message Date
LemonBoy
027cc5013e Fix error during field access in VM
Tuple constructors can't have nkExprColonExpr but may contain NimNodes
of that kind.

Fixes #4952
2018-09-17 18:52:40 +02:00
cooldome
e63c66b810 Add sym owner to macros (#8253) 2018-09-03 13:25:59 +02:00
Araq
7278f28740 fixes the remaining fixable Nimrod->Nim renamings; closes #2032 2018-09-03 09:34:31 +02:00
Araq
cfbf9dcc59 fixes #8740 2018-09-03 09:06:52 +02:00
LemonBoy
5cd152bfda Allow hint and warning to specify its loc info (#8771)
Let's bring those to feature-parity with `error`.
2018-08-28 22:59:28 +02:00
cooldome
d5e1d102df fixes 8754 (#8755)
* fixes 8754

* improve test
2018-08-24 09:57:38 +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
andri lim
4d5cce9882 fixes #6255, add system.ashr arithmetic right shift (#8547) 2018-08-07 18:41:30 +02:00
andri lim
6e3d1dced5 fixes #5617, 'copyLineInfo' addition (#8523) 2018-08-05 23:38:21 +02:00
andri lim
78c0ac5407 fixes #7827, bindSym enhancement (#8499)
* bindSym power up, working prototype

* update bindSym doc

* add bindSym test

* fix some typo

* fix bindSym doc

* get rid of specialops field from vm

* add experimental: dynamicBindSym
2018-08-02 12:56:44 +02:00
Timothee Cour
818d9be311 lineInfoObj (and check, expect) now return absolute paths (#8466) 2018-07-31 23:02:04 +02:00
Oscar Nihlgård
931273cc6b Fix ref bug in vmgen (#8424) 2018-07-30 22:28:24 +02:00
Andreas Rumpf
2e3f477957 VM: accessing the string terminator is not allowed anymore; cleanup tests/system/tostring.nim 2018-07-17 18:22:20 +02:00
Oscar Nihlgård
7ae9c4358e Fix vm regression (#8163) 2018-06-30 13:38:52 +02:00
Oscar Nihlgård
d146045ed5 Fixes #6689 (#8135) 2018-06-30 09:16:46 +02:00
Oscar Nihlgård
ae69e571e1 VM regression fixes (#8146) 2018-06-29 16:00:53 +02:00
Oscar Nihlgård
236bc06b5f Improve vm support for ref types 2018-06-26 21:25:27 +02:00
Andreas Rumpf
268260953c completed VM support for incremental compilations 2018-06-04 01:01:08 +02:00
Andreas Rumpf
b5194f592c WIP: an API for VM replay global state support 2018-06-03 20:18:43 +02:00
Andreas Rumpf
826c1e2d78 incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
Andreas Rumpf
688c54d8f1 compiler API: final cleanups; improve security by diabling 'gorge' and friends 2018-05-29 09:07:24 +02:00
Andreas Rumpf
382bc34f93 vm now free of global variables 2018-05-28 14:41:49 +02:00
Andreas Rumpf
5d45e630c5 vm.nim: evalMacroCounter is not a global variable anymore 2018-05-28 13:57:16 +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
Andreas Rumpf
cb6a4ffa86 Merge branch 'devel' into araq-big-refactoring 2018-05-21 17:31:23 +02:00
coffeepots
43b1ac07d4 Fix typo in "out of bounds" error message 2018-05-18 18:37:28 +01:00
Andreas Rumpf
a4e2b0c153 platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals 2018-05-18 15:18:00 +02:00
Andreas Rumpf
bf6c2c5ccf preparations of making compiler/msgs.nim free of global variables 2018-05-17 15:21:22 +02:00
Araq
2a7fc84c86 remove ast.emptyNode global; cleanup configuration.nim 2018-05-16 03:06:07 +02:00
Araq
5526252fa0 fixes testament compilation 2018-05-14 17:45:44 +02:00
Andreas Rumpf
297038f704 move more globals into the config object 2018-05-13 14:19:42 +02:00
Andreas Rumpf
ce859d8c16 more modules compile again 2018-05-12 16:35:59 +02:00
Andreas Rumpf
05724645f8 more modules compile again 2018-05-12 11:58:44 +02:00
Oscar Nihlgård
7cf87dfac6 VM fix for refs 2018-05-08 17:00:00 +02:00
Andreas Rumpf
b7116a28ee compiler refactoring, pass config around explicitly 2018-05-05 18:47:29 +02:00
Andreas Rumpf
14046d975d make tests green again 2018-04-21 17:01:33 +02:00
Andreas Rumpf
33b69f0ed0 refactoring: make FileIndex a distinct type; make line information an uint16; fixes #7654 2018-04-21 08:13:37 +02:00
jcosborn
7e15d5134b allow setting template/macro recursive evaluation limits (#7652)
* allow setting template/macro recursive evaluation limits

* revert setting template/macro eval limits
set them to 1000
2018-04-19 22:39:18 +02:00
Arne Döring
9d4fd1f1bb eqIdent new returns false on non identifier types (#7629) 2018-04-17 01:23:38 +02:00
Arne Döring
ed5b7cbac0 move eqIdent to vm.nim (#7585)
* Strutils comment changes.

* fix typo
2018-04-15 23:38:43 +02:00
Andreas Rumpf
47335aab41 introduce nkTupleConstr AST node for unary tuple construction; breaking change 2018-04-13 17:45:58 +02:00
Arne Döring
6baca58693 Get symbol kind (#7491) 2018-04-11 16:48:01 +02:00
jcosborn
cc5140d8b6 reuse default ident in opcNNewNimNode (performance regression) (#7330)
* reuse default ident in opcNNewNimNode (performance regression)

* use emptyIdent as default
2018-03-14 16:13:30 +01:00
Araq
934bba5255 some progress on #7261; VM does not support the new backwards indexing 2018-02-28 10:13:55 +01:00
Andreas Rumpf
89782460a3 fixes #7215 2018-02-14 10:09:35 +01:00
Andreas Rumpf
70ea45cdba deprecated unary '<' 2017-10-29 08:37:13 +01:00
Andreas Rumpf
02ff5f596c implemented new experimental scriptable import mechanism 2017-10-01 23:38:23 +02:00
Andreas Rumpf
2bdbe97af1 workaround a GC/codegen issue that proves nasty to fix 2017-09-26 22:19:31 +02:00
Andreas Rumpf
61720e0df9 breaking change: getAst strips away pointless nnkStmtList nodes; node rendering of nnkStmtList without wrong indentation 2017-09-26 10:24:14 +02:00