Rokas Kupstys
9314967709
For CI: -d:nimCoroutines
2017-02-20 17:24:19 +02:00
Rokas Kupstys
c3d1b732d6
Reworked gc support for coroutines. Nim now bootstraps with -d:nimCoroutines
...
Added gc test to coro.nim
Lots of misc improvements and comments in coro.nim
2017-02-20 17:24:19 +02:00
Rokas Kupstys
ce4e9846f0
Iterators test in coroutines
2017-02-20 17:24:19 +02:00
Rokas Kupstys
ff1bf74554
Delete fiber context when it exits (memleak fix)
...
Few correctness changes to gc stack management.
2017-02-20 17:24:19 +02:00
Rokas Kupstys
9a754156d7
Added support for exceptions in coroutines and added exception test
...
Fix bug where first coroutine ending would terminate main loop
2017-02-20 17:24:19 +02:00
Rokas Kupstys
373e667dbc
Coroutine rework.
...
* ucontext backend (default on unix)
* setjmp backend
* fibers backend (default and required on windows)
* Fixed coroutine loop timing issues
* Fixed saving of xmm registers on x64 windows
* Fixed alignment issues
* Updated coroutine sample with cooperative fibonacci calculation.
* Disable glibc security features only when platform jump functions are used
* Removed dependency on fasm.
* Using fiber api on windows.
* Other platforms and compilers will use built in assembler and .S files or API provided by platform libc.
* Replaced stack switching procs with `coroExecWithStack()` which never returns. This makes compiler always generate proper code.
2017-02-20 17:24:19 +02:00
Rokas Kupstys
a3b8bf300d
Added fiber API to winlean.nim
2017-02-20 17:24:19 +02:00
Andreas Rumpf
2d28a626f2
nimsuggest: works with VS-Plugin again
2017-02-20 11:51:17 +01:00
Andreas Rumpf
1ec96d7353
nimsuggest: better logging for EPC mode
2017-02-20 09:54:20 +01:00
Fabian Keller
ce4587d7b7
Enabled explicitly unknown lock levels ( #5409 )
...
* enabled explicitly unknown lock levels
* allowing "unknown" as locks pragma
* added test case for locks pragma
* updated docs on locks pragma
2017-02-20 09:31:52 +01:00
Andreas Rumpf
2df5a6f863
nimsuggest: make all tests green
2017-02-20 06:18:59 +01:00
Andreas Rumpf
2adb4ce9eb
nimsuggest supports EPC protocol again; tester can test the EPC protocol
2017-02-19 21:29:41 +01:00
Araq
363b1c0a41
travis: first attempt to enable OSX tests
2017-02-17 19:08:08 +01:00
Araq
9303a02d6b
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-02-17 18:04:09 +01:00
Araq
8f426b974a
new feature: .used pragma to suppress declared-but-not-used warning
2017-02-17 18:03:56 +01:00
Araq
dd8cbf5fca
fixes #5404
2017-02-17 17:44:52 +01:00
Andreas Rumpf
ba29ca0c63
Merge branch 'devel' into faster-nimsuggest
2017-02-17 10:48:01 +01:00
fenekku
e9767d8809
Fix reverse on empty openArray ( #5407 )
...
Reversing an empty `openArray` would raise a RangeError. For instance for `a: seq[int] = @[]`, we have `a.high` return `-1` but `-1` is not a `Natural`. Leaving the array as-is is the expected behaviour.
2017-02-17 08:26:49 +01:00
Araq
5620e08563
minor documentation improvements
2017-02-17 00:00:39 +01:00
Araq
bdd9f971e7
update code from a time when unsigned didn't exist
2017-02-16 23:20:01 +01:00
Araq
9534a5d632
fixes #5391
2017-02-16 22:59:07 +01:00
Araq
5d4ed1117d
distros.nim: brew usually doesn't require 'sudo'
2017-02-16 22:53:32 +01:00
Araq
804b0ff99c
fixes #5400
2017-02-16 22:50:21 +01:00
Araq
0440aea691
fixes #5405
2017-02-16 21:30:54 +01:00
Araq
61181702d5
fixes #5399
2017-02-16 11:35:15 +01:00
Araq
c9dd6908ae
resolved conflict
2017-02-16 11:18:10 +01:00
Araq
6499462303
fixes #5402
2017-02-16 11:15:43 +01:00
Araq
71026cec6e
fixes #5383
2017-02-16 11:15:43 +01:00
Araq
8de6c39f87
compiler debug proc: also output node flags
2017-02-16 11:15:43 +01:00
Araq
01c785e0aa
make tests green again
2017-02-16 10:39:40 +01:00
Araq
aebe9d7d13
make more tests green
2017-02-16 01:43:12 +01:00
Araq
97e26967f1
fixes #5383
2017-02-16 00:43:14 +01:00
araq
5b5bd3811b
koch: don't build downloader tool, it is not ready
2017-02-15 22:10:31 +01:00
araq
1811e51ff5
fixes #5392
2017-02-15 22:09:16 +01:00
Araq
95abf30fae
compiler debug proc: also output node flags
2017-02-15 15:35:15 +01:00
Eugene Kabanov
55782205a4
Fix appveyor.yml shows green, when failed. ( #5396 )
2017-02-15 13:18:45 +01:00
Andreas Rumpf
1189ae9b99
renamed writelnHook to writelnToChannel
2017-02-15 12:26:53 +01:00
Andreas Rumpf
20ccf417f6
get rid of debug output
2017-02-15 12:26:28 +01:00
Dominik Picheta
4c683e90ec
Fix rst parse problem in version 0.16.2 news.
2017-02-14 21:09:49 +01:00
Dominik Picheta
4a8257d992
Update bountysource sponsors.
2017-02-14 21:07:28 +01:00
Araq
57874ed9b8
C++ codegen: emit 'extern C' for importc'ed functions that we declare a prototype for
2017-02-14 14:39:53 +01:00
Araq
f0aef9f4e2
compile external .c files with the C compiler, not with C++; refs #5357
2017-02-14 14:39:17 +01:00
Andreas Rumpf
6cb0e5ad68
remove debug output
2017-02-14 12:51:38 +01:00
Andreas Rumpf
bcecbc380f
make tests green again; disable periodic refresh for now
2017-02-14 12:49:38 +01:00
Dominik Picheta
a336bf2395
Fixes parseHeader("foo:") != ("foo", @[""]). Refs #5344 .
2017-02-13 21:14:29 +01:00
Ruslan Mustakov
92665e6e9a
Add hash proc for cstrings ( #5386 )
2017-02-13 13:38:30 +01:00
Andreas Rumpf
9f142e199d
nimsuggest uses multithreading and full project recompiles
2017-02-13 13:37:50 +01:00
Anatoly Galiulin
6fa1dba515
Add `tearDownForeignThreadGc` function ( #5369 )
2017-02-13 13:37:20 +01:00
Anatoly Galiulin
279e4b0451
Fixes #5382
2017-02-13 13:35:40 +01:00
flyx
ac9c2126e6
Added BiggestUInt ( #5378 )
2017-02-13 11:20:07 +01:00