Commit graph

7,581 commits

Author SHA1 Message Date
cooldome
338602a402
fix #15825 (#15894)
* fix #15825

* better fix
2020-11-09 19:24:32 +01:00
Timothee Cour
c1664f93b0
new: nim -e:cmd to run a command directly; also fixes #15731 (#15687)
* new: `nim -i cmd`
* rename -i to -e (for eval); consistent with majority of other programing languages
* `nim e -e:cmd` now works; bugfix: `echo cmd | nim e -` now works
* honor --betterRun
* address comments
* --eval alias for -e (replaces undocumented --eval which was a noop)
* --eval now defaults to e (nimscript) instead of r
* address comment: remove -e, only keep --eval
* address comment
* fixup
* Update compiler/nimconf.nim

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2020-11-09 16:07:22 +01:00
cooldome
69fe707025
Fix 15629 (#15888)
* fix #15858

* fix space

* fix #15629

* Revert "fix space"

* Revert "fix #15858"
2020-11-09 12:26:12 +01:00
cooldome
d5a0a5dfff
Fix #15858 (#15887)
* fix #15858
* fix space
* fix #15629
* Revert "fix #15629"
2020-11-09 12:21:56 +01:00
cooldome
7b19217798
fix #15707 (#15870) 2020-11-09 11:47:29 +01:00
flywind
673c5990c6
fix #12558 (#15864)
* fix #12558
* Update compiler/pragmas.nim
2020-11-09 11:46:25 +01:00
sherbst
552075d10e
Fix typo in lexer.nim (#15876) 2020-11-07 15:58:49 +01:00
Bung
c07807bedf
Fix #15706 (#15846)
* fix #15706 Underflow not detected when using dec on distinct ranges

* fix #15846 first, jsgen even doesn't care of range in this op
2020-11-07 08:00:41 +00:00
Ivan Bobev
3c85aa9e53
Make {.requiresInit.} to work for distinct types (#15869)
Make `requiresInit` pragma to work for distinct types in addition to
objects. Tagging of distinct types with `requiresInit` pragma was
already supported, but its impact wasn't applied. Now its behavior when
applied on distinct types is as follows.

Given the following distinct type definitions:

  ```nim
  type
    DistinctObject {.requiresInit, borrow: `.`.} = distinct MyObject
    DistinctString {.requiresInit.} = distinct string
  ```

The following code blocks will fail to compile:

  ```nim
  var foo: DistinctFoo
  foo.x = "test"
  doAssert foo.x == "test"
  ```

  ```nim
  var s: DistinctString
  s = "test"
  doAssert s == "test"
  ```

But these ones will compile successfully:

  ```nim
  let foo = DistinctFoo(Foo(x: "test"))
  doAssert foo.x == "test"
  ```

  ```nim
  let s = "test"
  doAssert s == "test"
  ```
2020-11-06 18:56:09 +00:00
cooldome
cdd459dd60
static[T] related fixes (#15853)
* close #9679

* close #7546

* close #9520

* close #6177
2020-11-06 10:25:43 +01:00
cooldome
fa5f225efc
fix #15609 (#15856)
* fix #15609

* fix test
2020-11-05 23:29:05 +01:00
cooldome
3af7818af4
Fix #12636 (#15850)
* close #11142

* fix #12636

* undo unwanted changes

* fix illegal recursion case
2020-11-05 18:55:52 +01:00
flywind
a8af664e8b
fix #15463 (#15831) 2020-11-05 14:00:08 +01:00
cooldome
4c19c5dfae
fix static[Slice[T]] as argument issue (#15842) 2020-11-04 19:52:53 +01:00
cooldome
d62f3627aa
EnumUtils, speed up findStr in compiler (#15777)
* add parseEnumRange
* fix runnable example
* update changelog
* use parseEnumRange in compiler
* reorganise code
* add changelog, make single normalizer argument
2020-11-03 16:26:16 +01:00
flywind
b8bcf236dd
fix #12640 (#15829) 2020-11-03 11:41:41 +01:00
flywind
fde17b159f
follow #15818 and close #7109 (#15823)
* follow #15818 and close #7109

* Update compiler/jsgen.nim

Co-authored-by: Juan Carlos <juancarlospaco@gmail.com>

Co-authored-by: Juan Carlos <juancarlospaco@gmail.com>
2020-11-02 18:27:39 +01:00
flywind
5b4c17b5e7
Closure iterators are not supported by VM (#15818) 2020-11-02 10:58:14 +01:00
flywind
544cb107c7
fix #8821 (#15809) 2020-11-02 10:41:44 +01:00
cooldome
00b495de95
Use modern enums in compiler (#15775) 2020-11-02 10:35:24 +01:00
flywind
558115fa29
fixes #15717 2020-11-02 10:27:48 +01:00
flywind
27eb19cc48
fix #15145 (#15816) 2020-11-02 08:56:51 +01:00
flywind
80b0748d75
fix #15651 (#15800)
* fix

* minor
2020-10-31 12:06:13 +01:00
Miran
28bbcd9d45
fix #15702, show enum fields documentation (#15792) 2020-10-30 16:30:00 +01:00
flywind
2cfe5e0745
[closes #11625 and closes #2488]add global and threadvar(with --threads:off mode ) pragmas supports for JS backend (#15772)
* add global pragma support for js backend

* globalThis

* add support for threadvar

* more tests

* Update compiler/jsgen.nim

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2020-10-30 15:34:07 +01:00
cooldome
6fe2e8977d
canAlias improvement (#15773)
* canAlias improvement

* fix comment
2020-10-30 11:42:06 +00:00
flywind
17f08b2939
closes #7658 (#15784)
* fix #7658

* more
2020-10-30 09:58:55 +01:00
flywind
f79ded3cb6
fix #15638 (#15789) 2020-10-30 09:16:47 +01:00
cooldome
610e9b2fe9
fix #15756 (#15761)
* fix #15756

* simplify test
2020-10-28 13:24:38 +00:00
cooldome
0956a99537
ARC now capable of custom extra alignment. Ref, closure and seq support. (#15697) 2020-10-28 14:00:49 +01:00
cooldome
f8cac6bbbc
fix #15752 (#15754) 2020-10-28 00:09:26 +01:00
Timothee Cour
0fb878324e
honor --declaredLocs in more places, including type mismatch errors; also show kind with --declaredLocs (#15673)
* honor --declaredLocs in more places, including type mismatch errors
* fix tests
* show declaration location also when type mismatch names clash
2020-10-27 14:19:28 +01:00
Timothee Cour
58a1eec96a
condsyms: add nimHasDeclaredLocs (#15735) 2020-10-27 07:53:45 +01:00
Timothee Cour
da476a8723
fix #15740 --hint:conf now works more reliably (#15741) 2020-10-27 07:35:10 +01:00
Timothee Cour
3bdc000521
[backport] fix #15595 procvar == works in VM (#15724) 2020-10-26 22:19:05 +02:00
Andreas Rumpf
cf01945f54
ensure the Nim compiler works with --experimental:strictFuncs --experimental:views [backport:1.4] (#15737) 2020-10-26 21:08:57 +01:00
Jason Beetham
a87617956f
Fixed iteration limit hit from execproc (#15723) [backport:1.2] [backport:1.4]
When calling procs from Nim in Nimscript you could hit the VM iteration limit even though the code is functioning properly. This resolves that by making the iteration limit reset eachtime you call a proc.
2020-10-26 11:06:18 +01:00
Timothee Cour
d4c2e2c53f
fix #15704 #15597 wrong VM register was freed (#15705)
* fix #15704 #15597 wrong VM register was freed

* same treatment for nkCheckedFieldExpr

* note concerning HighRegisterPressure

* bump NimPatch

* Update lib/system.nim

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2020-10-26 09:13:37 +01:00
Andreas Rumpf
226595515c
explicit ID generation for easier IC (#15559)
* refactoring: idents don't need inheritance
* refactoring: adding an IdGenerator (part 1)
* refactoring: adding an IdGenerator (part 2)
* refactoring: adding an IdGenerator (part 3)
* refactoring: adding an IdGenerator (part 4)
* refactoring: adding an IdGenerator (part 5)
* refactoring: adding an IdGenerator (part 5)
* IdGenerator must be a ref type; hello world works again
* make bootstrapping work again
* progress: add back the 'exactReplica' ideas
* added back the missing exactReplica hacks
* make tcompilerapi work again
* make important packages green
* attempt to fix the build for 32 bit machines (probably need a better solution here)
2020-10-25 08:50:47 +01:00
Timothee Cour
64eb62889a
[minor] nimVMDebug: fix codeListing formatting for jump-to-file to work (#15711) 2020-10-25 01:56:07 +03:00
Clyybber
d4022ebe53
Revert "fixes #15280 [backport:1.2] (#15281)" (#15700)
This reverts commit 3f00a738db.
2020-10-24 11:45:18 +02:00
cooldome
ae320b4e7d
fix #15662 (#15678)
* fix #15662

* alternative fix

* fix spacing
2020-10-23 11:14:54 +02:00
Timothee Cour
275354709d
make cgen header consistent with jsgen header (#15682) 2020-10-23 08:03:09 +02:00
Andreas Rumpf
64016ddedc
fixes view types for sizeof() and --gc:orc (#15680) 2020-10-22 18:52:05 +02:00
Andreas Rumpf
8358974b73
fixes #15652 [backport:1.4] (#15679) 2020-10-22 17:28:43 +02:00
Miran
d8a6b0b04e
[backport: 1.4] Better linebreaks (#15658) 2020-10-22 12:16:19 +02:00
Clyybber
773643b47b Cleanup 2020-10-22 11:03:05 +02:00
Timothee Cour
0979524137
add Source+Edit links on top of every docgend file (#15642) 2020-10-22 10:44:28 +02:00
Timothee Cour
e09c259bf3
reuse existing toHumanStr (#15674) 2020-10-21 15:53:43 -07:00
Timothee Cour
05752cd5d0
add --declaredlocs (#15666) 2020-10-21 15:37:29 +02:00