Commit Graph

10238 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
ionel anton
636b977457 Column details for postgres. (#5380) 2017-02-13 09:09:43 +01:00
Federico Ceratto
0d1aa9225a Make walkDirRec docstring more clear (#5377) 2017-02-12 16:02:50 +01:00
Araq
36d3fd64da fixes #5354 2017-02-11 00:42:12 +01:00
Araq
c8ae7164e5 finish.nim: user has multiple chances to move .7z file to proper location 2017-02-11 00:24:22 +01:00
Araq
9b8150aef1 sysio: check for IO errors for write operations 2017-02-11 00:23:22 +01:00
Dominik Picheta
04f14b67ca Merge pull request #5367 from emabrey/readme-update
Readme update
2017-02-10 17:33:59 +01:00
Yuriy Glukhov
eb0d510195 Removed $ from echo calls (#5368) 2017-02-10 16:25:22 +01:00
Yuriy Glukhov
69fb2c6152 Fixed heapqueue.del for last elem (#5363) 2017-02-10 10:15:43 +01:00
Emily Mabrey
1a7fdb09d9 Make additional minor changes to readme.md
Move the community section closer to the top of the readme. Make the
reference to the copying.txt file in the license section actually
link to that file. Adjust the nimble section to be more clear about
how and where to acquire the nimble source.
2017-02-09 17:42:15 -05:00
Emily Mabrey
03b05bd346 Cleanup and reorganize readme.md
Fix typos and grammatical errors while rearranging and cleaning up the
readme. Change all links to use the reference style Markdown link for
increased maintainability. Make all badges use a consistent flat style
that matches the art style of the logo. Replace HTML snippet for logo
with valid Markdown link by utilizing the freely available Google API
for image resizing.
2017-02-09 17:41:00 -05:00
Araq
a20b4c674e sysio: minor improvements 2017-02-09 20:11:54 +01:00
Andreas Rumpf
5ff6ff28bf fixes #5339 2017-02-09 01:16:43 +01:00