summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* fix #15707 (#15870)cooldome2020-11-093-12/+22
|
* fix #12558 (#15864)flywind2020-11-091-1/+5
| | | | * fix #12558 * Update compiler/pragmas.nim
* Fix typo in lexer.nim (#15876)sherbst2020-11-071-1/+1
|
* Fix #15706 (#15846)Bung2020-11-071-1/+1
| | | | | * fix #15706 Underflow not detected when using dec on distinct ranges * fix #15846 first, jsgen even doesn't care of range in this op
* Make `{.requiresInit.}` to work for distinct types (#15869)Ivan Bobev2020-11-063-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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" ```
* static[T] related fixes (#15853)cooldome2020-11-061-1/+1
| | | | | | | | | * close #9679 * close #7546 * close #9520 * close #6177
* fix #15609 (#15856)cooldome2020-11-051-10/+9
| | | | | * fix #15609 * fix test
* Fix #12636 (#15850)cooldome2020-11-051-2/+6
| | | | | | | | | * close #11142 * fix #12636 * undo unwanted changes * fix illegal recursion case
* fix #15463 (#15831)flywind2020-11-052-1/+2
|
* fix static[Slice[T]] as argument issue (#15842)cooldome2020-11-041-1/+1
|
* EnumUtils, speed up findStr in compiler (#15777)cooldome2020-11-033-10/+21
| | | | | | | | * add parseEnumRange * fix runnable example * update changelog * use parseEnumRange in compiler * reorganise code * add changelog, make single normalizer argument
* fix #12640 (#15829)flywind2020-11-031-1/+7
|
* follow #15818 and close #7109 (#15823)flywind2020-11-021-2/+5
| | | | | | | | | * 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>
* Closure iterators are not supported by VM (#15818)flywind2020-11-021-0/+2
|
* fix #8821 (#15809)flywind2020-11-021-0/+5
|
* Use modern enums in compiler (#15775)cooldome2020-11-0218-337/+219
|
* fixes #15717flywind2020-11-021-0/+2
|
* fix #15145 (#15816)flywind2020-11-021-4/+6
|
* fix #15651 (#15800)flywind2020-10-311-0/+1
| | | | | * fix * minor
* fix #15702, show enum fields documentation (#15792)Miran2020-10-301-1/+2
|
* [closes #11625 and closes #2488]add global and threadvar(with ↵flywind2020-10-301-1/+6
| | | | | | | | | | | | | | | `--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>
* canAlias improvement (#15773)cooldome2020-10-301-2/+11
| | | | | * canAlias improvement * fix comment
* closes #7658 (#15784)flywind2020-10-301-3/+6
| | | | | * fix #7658 * more
* fix #15638 (#15789)flywind2020-10-301-0/+1
|
* fix #15756 (#15761)cooldome2020-10-281-1/+1
| | | | | * fix #15756 * simplify test
* ARC now capable of custom extra alignment. Ref, closure and seq support. ↵cooldome2020-10-282-15/+15
| | | | (#15697)
* fix #15752 (#15754)cooldome2020-10-281-4/+4
|
* honor --declaredLocs in more places, including type mismatch errors; also ↵Timothee Cour2020-10-274-20/+36
| | | | | | | 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
* condsyms: add nimHasDeclaredLocs (#15735)Timothee Cour2020-10-271-0/+1
|
* fix #15740 --hint:conf now works more reliably (#15741)Timothee Cour2020-10-271-5/+10
|
* [backport] fix #15595 procvar `==` works in VM (#15724)Timothee Cour2020-10-261-2/+4
|
* ensure the Nim compiler works with --experimental:strictFuncs ↵Andreas Rumpf2020-10-261-1/+8
| | | | --experimental:views [backport:1.4] (#15737)
* Fixed iteration limit hit from execproc (#15723) [backport:1.2] [backport:1.4]Jason Beetham2020-10-261-0/+1
| | | 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.
* fix #15704 #15597 wrong VM register was freed (#15705)Timothee Cour2020-10-261-2/+4
| | | | | | | | | | | | | * 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>
* explicit ID generation for easier IC (#15559)Andreas Rumpf2020-10-2566-902/+852
| | | | | | | | | | | | | | | | | * 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)
* [minor] nimVMDebug: fix codeListing formatting for jump-to-file to work (#15711)Timothee Cour2020-10-251-1/+1
|
* Revert "fixes #15280 [backport:1.2] (#15281)" (#15700)Clyybber2020-10-241-1/+1
| | | This reverts commit 3f00a738dbc8319b4dd2b86bf5529c096f2dd243.
* fix #15662 (#15678)cooldome2020-10-231-17/+15
| | | | | | | * fix #15662 * alternative fix * fix spacing
* make cgen header consistent with jsgen header (#15682)Timothee Cour2020-10-231-16/+9
|
* fixes view types for sizeof() and --gc:orc (#15680)Andreas Rumpf2020-10-222-4/+4
|
* fixes #15652 [backport:1.4] (#15679)Andreas Rumpf2020-10-221-1/+1
|
* [backport: 1.4] Better linebreaks (#15658)Miran2020-10-221-10/+4
|
* CleanupClyybber2020-10-221-2/+0
|
* add Source+Edit links on top of every docgend file (#15642)Timothee Cour2020-10-222-22/+26
|
* reuse existing toHumanStr (#15674)Timothee Cour2020-10-212-2/+2
|
* add --declaredlocs (#15666)Timothee Cour2020-10-215-10/+19
|
* fix cgen header copyright (#15649)Timothee Cour2020-10-211-3/+1
| | | | * remove copyright Andreas Rumpf from cgen files
* fixes bootstrapping for any machine that has a Nim already installed ↵Andreas Rumpf2020-10-202-11/+18
| | | | [backport:1.4] (#15660)
* even more "eg" fixes [ci skip]narimiran2020-10-203-5/+5
|
* Fix commentOffsetA for doc comments (#15643)Clyybber2020-10-201-1/+1
|