Commit graph

7,581 commits

Author SHA1 Message Date
Andreas Rumpf
4058801607
spec for view types (#15424)
* spec for view types
* spec additions
* refactoring; there are two different kinds of views
* refactorings and spec additions
* enforce that view types are initialized
* enforce borrowing from the first formal parameter
* enforce lifetimes for borrowing of locals
* typo in the manual
* clarify in the implementation what a borrow operation really is
2020-09-29 23:42:38 +02:00
Andreas Rumpf
50b6f6996a
.noalias annotation; frontend support (#15419)
* .noalias annotation; frontend support

* added .noalias support to Nim; implements https://github.com/nim-lang/RFCs/issues/204
2020-09-28 13:51:39 +02:00
Andreas Rumpf
f1ac01459c
produce runtime type information for reified openArrays (#15415)
* produce runtime type information for reified openArrays

* added a test case
2020-09-27 20:44:22 +02:00
Andreas Rumpf
57b7841c18
better support for slices as views (#15414)
* moved view tests to tests/views
* refactoring
* more refactorings
* better support for system.toOpenArray for first class view types
2020-09-27 09:20:10 +02:00
Andreas Rumpf
e6616115e6
cursor inference: makes combparser work; refactorings (#15411)
* cursor inference: makes combparser work; refactorings
2020-09-26 13:11:35 +02:00
alaviss
d4892e9388
koch, compiler: bundle fusion as part of the source archive (#15409)
This allows distributions to build Nim from the downloaded source
archive without an Internet connection.
2020-09-26 09:31:55 +02:00
cooldome
68ec7a018b
Revert "fix #15035 (#15236)" (#15408)
This reverts commit f8c48fc186.
2020-09-24 22:21:14 +02:00
Andreas Rumpf
e3b5f80a89
more precise borrow checking of 'result' (#15406) 2020-09-24 22:07:23 +02:00
Andreas Rumpf
ce72d7ffc5
fixes #15403 (#15404) 2020-09-24 19:34:59 +02:00
Andreas Rumpf
4ec5cbac0d
fixes #15361 (#15401)
* fixes #15361; better cursor inference
2020-09-24 15:41:45 +02:00
flywind
8a6c5edc43
use release version (#15400) 2020-09-24 14:14:23 +02:00
cooldome
f21a49b2c4
Fix #15389 (#15390)
* allow result symbol reuse

* try different approach

* Revert "try different approach"

This reverts commit abcfb6b75983c2f798cc887342ff1a9ff10c0324.
2020-09-24 00:07:30 +01:00
Miran
fe3211fbcf
fix the indentation in --help and --fullhelp (#15387)
* fix the indentation in `--help` and `--fullhelp`

* a better way to fix it
2020-09-23 12:44:41 +02:00
Araq
94c8d53a03 'koch temp' bugfix 2020-09-23 10:41:33 +02:00
Andreas Rumpf
e2d80b15a6
finish the stacktraces.nim implementation [backport:1.2] (#15393) 2020-09-23 10:01:52 +02:00
Clyybber
4b9eea2fcc
Fix forward declarations in shadow scope contexts (#15386)
* Fix forward declarations in shadow scope contexts

* Add testcase for #15385

* Less empty lines

* Fix tests

* Inline isShadowScope

* Add original testcase (with reduced amount of iterations)

* Add testcase without forward decl
2020-09-22 18:24:13 +02:00
Andreas Rumpf
c2434d939e
fixes #15360 [backport:1.2] (#15378) 2020-09-21 12:35:23 +02:00
Araq
33be7c6f5e arc: =deepcopy fixes 2020-09-20 10:43:57 +02:00
Andreas Rumpf
a15d77df7e
ORC/ARC async progress (#15370)
* ARC/ORC: fixes memory leak for empty seqs that have a non-zero capacity

* async: minor refactorings

* it helps to finish a refactoring
2020-09-20 00:27:32 +02:00
jcosborn
e56d50d747
fix infinite recursion in typeRel (#15241)
* fix generic constraints

Co-authored-by: James Osborn <osborn@Jamess-MacBook-Pro.local>
2020-09-18 11:21:37 +02:00
Andreas Rumpf
bc9967f05a
Revert "Introduce explicit copy (#15330)" (#15346)
This reverts commit a3e9cc5234.
2020-09-16 23:24:17 +02:00
cooldome
d938c6411e
fix #15326 (#15341) 2020-09-16 21:37:23 +02:00
cooldome
341be0b61c
proc params as syms (#15332)
* proc params are now syms

* Fix typesrenderer

* Add testcase for disrupteks issue

* fix test

* Trigger build

* Trigger build

* Trigger build

Co-authored-by: Clyybber <darkmine956@gmail.com>
2020-09-16 17:25:24 +01:00
cooldome
a3e9cc5234
Introduce explicit copy (#15330) 2020-09-16 17:26:45 +02:00
Andreas Rumpf
ae4ede6b00
fixes #15325 (#15340) 2020-09-16 17:26:13 +02:00
Andreas Rumpf
fd31e8ff6f
allow old styled RTTI for arc/orc (#15331) 2020-09-16 14:57:01 +02:00
Andreas Rumpf
bc179ccc3f
fixes #15076 (#15329) 2020-09-15 12:40:23 +02:00
Jaremy Creechley
6c49767a6c
Fixing issue #15302 -- lwip doesn't support signals (#15303)
* Fixing issue #15302 -- lwip doesn't support signals

* Adding test to catch issue #15302 -- lwip/freertos net library
don't try to build / run on windows, it'll compile only but not run

Fixing issue #15302 -- reworking test to compile on other platforms
2020-09-14 08:57:49 +02:00
Andreas Rumpf
1df5cfba52
fixes #15147 (#15315) 2020-09-12 23:11:38 +02:00
Clyybber
1881fc5812
Fix #15305 (#15311)
* Fix #15305

* Fix test
2020-09-12 12:39:46 +01:00
Andreas Rumpf
0c41ac792b
fixes #15122 (#15301) 2020-09-11 01:50:42 +02:00
Miran
6a621b35e7
fix warnings for deprecated low and high (#15291) 2020-09-11 01:04:07 +02:00
cooldome
61c85e034d
Fix #15286 (#15292)
* fix #15286

* fix spacing
2020-09-10 12:40:39 +02:00
Andreas Rumpf
3f00a738db
fixes #15280 [backport:1.2] (#15281)
* fixes #15280 [backport:1.2]

* make tests green again

* adapt tests
2020-09-09 14:20:10 +02:00
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