summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* fix #15910 (#15984)cooldome2020-11-161-4/+12
| | | | | | | * fix #15910 * produce op of op is nil * Trigger build
* fixes #15753 [backport:1.4] (#15971)Andreas Rumpf2020-11-151-19/+76
|
* Fix nimsuggest/#117 (#15602)Clyybber2020-11-151-4/+1
|
* fix #12303 (#15964)flywind2020-11-141-2/+7
|
* Fix #8404 JS backend doesn't handle float->int type conversion (#15950) ↵Bung2020-11-131-3/+9
| | | | | | | | | | | [backport] * Fix #8404 JS backend doesn't handle float->int type conversion * handle conv to uint as cast, discard other cases * limit to int32, times use int64 * toInt including tyInt64 break times timezones lib, ignore for now * also affect to vm * move to tests/misc/t8404.nim
* Add support for FreeBSD/PowerPC64 Little Endian (#15927)lenoil982020-11-121-1/+1
| | | | | | | | | | | | | | * Update installer.ini Add support for powerpc64 little endian * Update buildsh.nimf Add support for powerpc64 little endian * Update makefile.nimf Add support for freebsd/powerpc64 little endian
* fix #15916 (#15917) [backport]flywind2020-11-121-2/+4
| | | | | | | * fix #15916 * add testcase for #15916 * add comments
* Fix #15909 (#15914)Fanael Linithien2020-11-121-0/+1
|
* fix #14157 (#15877)flywind2020-11-121-0/+4
| | | | | | | | | | | | | * fix #14157 * Update compiler/jsgen.nim * add changelog * Update compiler/jsgen.nim * Update tests/js/tmodify_cstring.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Fix 14127 js from int to int casting (#15918)Bung2020-11-111-2/+1
| | | | | | | | | * fix #14127 from int to int casting * add test for #14127 * use template for test, also test uint2int * move to tests/types/t14127_cast_number.nim targets:c cpp js
* Correct all eggs (#15906)Miran2020-11-1011-17/+17
| | | | * "eg" is a misspelled "egg", "e.g." is "exempli gratia" * Also, "ie" is "i.e.".
* rst: add support for markdown tables (#15854)Miran2020-11-102-14/+17
| | | | | | | * rst: add support for markdown tables * change template into proc * don't create unnecessary `seq[string]`
* fix #15825 (#15894)cooldome2020-11-091-1/+1
| | | | | * fix #15825 * better fix
* new: `nim -e:cmd` to run a command directly; also fixes #15731 (#15687)Timothee Cour2020-11-0911-26/+71
| | | | | | | | | | | | | | | * 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>
* Fix 15629 (#15888)cooldome2020-11-091-10/+13
| | | | | | | | | | | * fix #15858 * fix space * fix #15629 * Revert "fix space" * Revert "fix #15858"
* Fix #15858 (#15887)cooldome2020-11-091-1/+1
| | | | | | * fix #15858 * fix space * fix #15629 * Revert "fix #15629"
* 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>