Andreas Rumpf
217675cf84
borrow checking refinements ( #15290 )
...
* added basic borrowing test
2020-09-09 14:19:22 +02:00
Clyybber
f3552b86c1
Better semiStmtList parsing ( #15123 )
...
* Better semiStmtList parsing
* Add examples from forums and wiki
* Move parseIfExpr near parseIfOrWhen
* Update grammar
2020-09-09 07:36:31 +02:00
Andreas Rumpf
10988d4840
borrow checking ( #15282 )
...
* refactoring: move procs to typeallowed.nim
* frontend preparations for first class openArray support
* prepare the code generator for first class openArray
* code generation for first class openArray; WIP
* code generation for open arrays, progress
* added isViewType proc
* preparations for borrow checking
* added borrow checking to the front end
2020-09-09 07:32:03 +02:00
Miran
c49b88163c
"for-loop macros" are no longer an experimental feature ( #15288 )
2020-09-08 14:25:25 +02:00
Scott Wadden
098a8a7c52
nimeval errorHook support ( #15255 )
2020-09-07 20:05:07 +02:00
Andy Davidoff
0b74d26d0c
don't raise index defects on malformed ast ( #15278 )
...
* don't raise index defects on malformed ast
* style
2020-09-07 20:04:07 +02:00
Andreas Rumpf
2f6d04fd5d
strict funcs: use control flow information for a more precise analysis ( #15271 )
...
* strict funcs: use control flow information for a more precise analysis
* cursor inference uses control flow information
2020-09-06 22:01:39 +02:00
Clyybber
35ff17410f
Expand hoisted default params in sem ( #15270 )
...
* Expand hoisted default params in sem
Introduce ast.newTree{I,IT}
Add test for default params in procs
* Cleanup
* Simplify hoist transformation and expand test
2020-09-05 22:01:47 +02:00
cooldome
77df02313d
fix #15238 ( #15262 )
...
* fix_15238
* fix test
2020-09-04 10:26:14 +02:00
Andreas Rumpf
48f2997221
fixes system.add for strict funcs ( #15259 )
...
* fixes system.add for strict funcs
* fixes #15248
2020-09-03 12:59:34 +02:00
PMunch
244760197c
Fix sets for architectures with default integers smaller than 32 bits ( #15258 ) [backport]
2020-09-02 10:07:08 +02:00
Andreas Rumpf
ff13f8cc3c
fixes #15210 [backport:1.2] ( #15237 )
...
* fixes #15210 [backport:1.2]
* use patched version of bigints library
2020-08-31 14:46:23 +02:00
Jaremy Creechley
a76ae8f795
Changes for FreeRTOS/LwIP Port for the ESP32 (ESP-IDF) ( #15250 )
...
* Changes for FreeRTOS/LwIP Port for the ESP32 (ESP-IDF)
Adding FreeRTOS/LwIP to compiler:
* adding freertos option
* dyncalls for freertos
* add freertos to posix os list
* adding lwip option
Setting up networking FreeRTOS/LwIP Port:
* setting up lwip network for freertos
* fixing posix / networking for freertos
* disable setInheritable for freerots
* using lwip for net control items
* Fix builds by ignoring lib/posix/posix_freertos_consts.nim similar to lib/posix/posix_other_consts.nim
2020-08-31 11:48:54 +02:00
Clyybber
13e659cfec
Big compiler Cleanup ( #14777 )
2020-08-28 22:18:09 +02:00
cooldome
f8c48fc186
fix #15035 ( #15236 )
2020-08-28 17:57:52 +02:00
Clyybber
fb58066b61
Fix #5691 ( #15158 )
...
* Fix #5691
* Cleanup and thoughts
* Use scope approach
* Seperate defined/declared/declaredInScope magics
* Fix declaredInScope
* Update spec accordingly
2020-08-27 15:50:59 +02:00
jcosborn
d11933ad99
fix some issues overloading with generics and inheritance ( #15211 )
...
* fix some issues overloading with generics and inheritance
* fix passing procs with subtype matches
2020-08-27 12:56:38 +02:00
Araq
71025b8a8f
deleted dead code, writetracking.nim was replaced by varpartitions.nim
2020-08-26 15:27:15 +02:00
Bung
7cee63bba3
avoid #8231 , bitwise move to mul,div ( #15070 )
...
* avoid #8231 , bitwise move to mul,div
* add test for #8231
* fix bitwise move when div result is float
* bitwise move depends on typ.size
2020-08-25 09:58:32 +02:00
Andreas Rumpf
ddff13f01b
better strict funcs, WIP ( #15199 )
...
* better strict funcs, WIP
* progress
2020-08-18 12:45:22 +02:00
jcosborn
e194cb41a4
fix overloading issue with generic invocation ( #15135 )
...
* fix overloading issue with generic alias
* add test for inheritance depth
2020-08-18 08:23:19 +02:00
Clyybber
2cea52ee7e
Allow pragmas on parameters ( #15178 )
2020-08-11 22:28:49 +02:00
Andreas Rumpf
813f16a2a3
Fix #8473 ( #15169 )
...
* Make explicit {.nimcall.} a seperate calling convention
* Add testcase for #5688
* Fix bootstrapping
* Remove little lies :)
* Use typeflag instead
2020-08-11 14:50:46 +02:00
Clyybber
b022576ce9
Use typeflag instead
2020-08-10 12:57:32 +02:00
Andreas Rumpf
2a8bf470af
fixes #15101 [backport] ( #15171 )
2020-08-08 23:08:34 +02:00
Clyybber
26a867c83c
Remove little lies :)
2020-08-08 13:22:53 +02:00
Clyybber
2a8d010742
Fix bootstrapping
2020-08-08 12:50:06 +02:00
Clyybber
38068f9778
Make explicit {.nimcall.} a seperate calling convention
2020-08-08 12:36:20 +02:00
cooldome
ef6358f0b0
implement ( #15153 )
2020-08-04 19:22:35 +02:00
Andreas Rumpf
64aec6eb85
fixes a collect() bug reported on the forum ( #15156 ) [backport:1.2]
2020-08-04 12:45:15 +02:00
Andreas Rumpf
d6161e7e9e
fixes #15129 [backport:1.2] ( #15144 )
2020-08-01 22:03:15 +02:00
Andreas Rumpf
8e3f51f06c
fixes #15130 ( #15141 )
...
* fixes #15130
* you really have to copy from cursors
2020-08-01 18:04:04 +02:00
Andreas Rumpf
9ff2c50155
fixes #15122 [backport:1.2] ( #15139 )
2020-08-01 13:16:50 +02:00
Andreas Rumpf
4ab6887a67
fixes #15111 ( #15136 )
2020-08-01 07:39:00 +02:00
Andreas Rumpf
d23ae49535
fixes #15071 [backport] ( #15131 )
2020-07-31 12:13:33 +02:00
Andreas Rumpf
355b275175
fixes #15112 ( #15124 )
2020-07-30 19:19:59 +02:00
Andreas Rumpf
d130175342
cursor and mutation tracking fixes ( #15113 )
...
* fixes #15110
* fixes #15096
* prepare varpartitions for cursor inference
* new cursor inference begins to work
* make tests green
2020-07-30 17:32:48 +02:00
jcosborn
32c6146200
fix overloading case with generic alias ( #15116 )
...
* fix overloading case with generic alias
* revert reorganization of tests
2020-07-30 15:34:11 +02:00
Clyybber
2629d619a1
Fix forward declaration issues in template/macro context ( #15091 )
...
* Fix forward declaration issues in template/macro context
* Correct forward declaration resolving for overloads
* Remove old dead code
* WIP consistent gensym ids
* Minimize diff
* Remove obsoleted hack
* Add templInstCounter to give unique IDs to template instantiations
* Remove obsoleted code
* Eh, init in myOpen, not myProcess...
* Remove optNimV019
* Add testcase for #13484
2020-07-29 16:17:20 +02:00
Andreas Rumpf
a3a87cdb29
fixes #14616 [backport:1.2] ( #15109 )
2020-07-29 11:11:58 +02:00
Andreas Rumpf
86c9b78339
disable sink inference, only enable it for the stdlib. Reason: better source code compatibility ( #15105 )
2020-07-28 19:18:46 +02:00
Andreas Rumpf
e6f0d4a5a5
fixes #15076 ( #15095 )
2020-07-27 23:27:20 +02:00
Timothee Cour
377f716766
fix #14698 nkRecWhen caused internalAssert in semConstructFields when generic type not mentioned in fields ( #14709 )
...
* fix #14698 nkRecWhen caused internalAssert in semConstructFields when generic type not mentioned in fields
* address comment
* Update compiler/semtypinst.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-07-27 22:32:21 +02:00
Bung
cac09a43ae
fix #11354 jsgen not carefully handle genAddr with nkHiddenAddr,nkStm… ( #15078 )
...
* fix #11354 jsgen not carefully handle genAddr with nkHiddenAddr,nkStmtListExpr; genAsgn with lvalue tyVar and rvalue tyPtr
* correct logic
* add test for #11354
* handle nkHiddenAddr when n.len == 1
* Update compiler/jsgen.nim
* Update compiler/jsgen.nim
* Apply suggestions from code review
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-07-27 21:13:49 +02:00
Bung
191c388792
fixes #14189 ( #15080 ) [backport]
2020-07-27 14:06:54 +02:00
Araq
318f0992ea
fixes a closure iterator memory leaks, progress on #15076
2020-07-27 13:07:09 +02:00
Araq
a0049d1fb0
compiler: minor code cleanups
2020-07-27 08:05:52 +02:00
Andreas Rumpf
aae998feff
fixes #15038 [backport:1.2]
2020-07-26 01:16:06 +02:00
Andreas Rumpf
624762cfb7
fixes #15052
2020-07-26 01:16:06 +02:00
Andreas Rumpf
2aca748ddd
strict func: much better error messages ( #15068 )
...
* strict func: much better error messages
* documented the 'strict funcs' mode
2020-07-25 19:36:53 +02:00