Commit Graph

492 Commits

Author SHA1 Message Date
Zahary Karadjov
083d4f4708 fixes the recently discovered GC memory leaks
This revision is intended as comparison point between the old and the new GC
The used GC can be switched in mmdisp and various statistics will be gathered during
execution (these will be removed/disabled in later revisions)
2012-12-20 15:51:21 +02:00
Zahary Karadjov
e9e22ccb2a track the "owner" heap object in the ref write barrier
See the papers for reference counting with heap sliding views for details:
2012-12-01 15:37:13 +02:00
Araq
2591ac0ada 'return' for first class iterators 2012-11-26 08:47:57 +01:00
Araq
dd9ad9e497 next steps for first class iterators 2012-11-26 02:43:32 +01:00
Araq
538699a281 parser support for 'not nil' annotation 2012-11-25 23:40:42 +01:00
Araq
019d6e4127 added missing type flags 2012-11-23 19:52:32 +01:00
Zahary Karadjov
ad53e0b022 added 2 GC leak test cases 2012-11-22 21:57:37 +02:00
Araq
c4b7a3e545 docs should build under doc2; unittests of times.nim compile under 32bit; small bugfix for the tester 2012-11-20 21:28:55 +01:00
Araq
ec9b1f78e1 annotated effects of modules: os, sockets, times 2012-11-18 13:34:48 +01:00
Araq
7f6633a06f added system.finished for first class iterators 2012-11-17 01:25:32 +01:00
Araq
7a2c11d3cf next steps for first class iterators 2012-11-15 22:54:06 +01:00
Araq
1fada12a5f improvements for first class iterators 2012-11-15 08:45:16 +01:00
Araq
814fcb2639 bugfix: stack traces; first class iterators almost working 2012-11-15 01:27:25 +01:00
Araq
c439010d52 made some tests green 2012-11-11 22:08:29 +01:00
Araq
48a62af3b1 implemented 'tags' pragma 2012-11-11 22:03:41 +01:00
Araq
515cf985f4 made some tests green 2012-11-07 01:08:31 +01:00
Araq
865d9cc6e6 added system.onRaise to support a condition system 2012-11-05 08:36:44 +01:00
Araq
42c8fd1fe2 bugfixes for exception tracking 2012-11-04 22:40:51 +01:00
Araq
6dd2c2d767 exception tracking should work 2012-11-04 18:09:15 +01:00
Araq
2133fbfcce bugfix: wrong assertions for C++ code generation; some solaris support; first steps to an effect system 2012-10-30 22:29:03 +01:00
Araq
86ed918157 fixes #235 2012-10-24 23:26:13 +02:00
Araq
ac978b3203 bugfix: tcan_inherit_generic works again 2012-10-19 21:43:18 +02:00
Araq
172b6aacf8 fixes #230; fixes #227 2012-10-19 20:45:26 +02:00
Araq
b20663ce19 fixes #232 2012-10-19 13:24:42 +02:00
Zahary Karadjov
2efdf3df81 fixes #106 2012-10-16 02:21:28 +03:00
Zahary Karadjov
3c9e3a6a71 Improved support for nkSymChoices in type coercions
For example, this allows you to pick up a proc with a specific signature from
an overload set.

bugfix: nimrod generated invalid code when a RVO function had a single
compile-time param

bugfix: nkHiddenDerefs were not neutralised properly for indirect proc calls
2012-10-15 21:00:29 +03:00
Araq
ffcbe19cd8 fixes #217 2012-10-13 01:59:20 +02:00
Araq
1d30798363 bugfix: threads should work again; fixes #220 2012-10-12 23:34:43 +02:00
Araq
70fa5a6df0 attempt to fix #183 2012-10-06 22:46:41 +02:00
Zahary Karadjov
d9d82fb0af syntax compatibility between do blocks and stmt blocks
See the section `do notation` in the manual for more info.

* nkMacroStmt has been removed
   Macro statements are now mapped to regular nkCall nodes.
   The support for additional clauses (such as else, except, of, etc)
   have been restored - they will now appear as additional arguments
   for the nkCall node (as nkElse, nkExcept, etc nodes)

* fixed some regressions in the `is` operator and semCompiles
2012-10-04 15:37:26 +03:00
Araq
a6d5707faf added titer7 test 2012-10-04 13:00:37 +02:00
Zahary Karadjov
2e5265bef5 experimental support for querying the type of expressions within macros
normalised the line endings of macros.nim (minor edits otherwise)
2012-10-03 01:59:50 +03:00
Zahary Karadjov
9c8bc3a244 the is operator now works with type classes and type variables
bugfixes:
the DLL tests were failing on Mac OS X, due to an incorrect DynlibFormat
2012-10-03 01:59:49 +03:00
Zahary Karadjov
770d4a997e implemented case expressions 2012-10-03 01:59:49 +03:00
Zahary Karadjov
698785ef5e bugfix: allow tuple constructors in generic code 2012-10-03 01:59:49 +03:00
Zahary Karadjov
7e44015491 implemented return type inference
Other fixes:
* bind once is now the default for type classes as documented in the manual
* fixes an issue in template overloading (erroneous  ambiguity when different typedesc params were used)
2012-10-03 01:59:49 +03:00
Zahary Karadjov
2aabae702d fixes ttypeselectors 2012-09-28 14:30:48 +03:00
Zahary Karadjov
c899b51b52 test cases for the new typedesc features 2012-09-25 02:03:15 +03:00
Zahary Karadjov
27dc9fcb8f fixes #186 and the ttypedesc1 test case 2012-09-23 19:34:20 +03:00
Araq
603dc36008 bugfix: 'result' cannot be captured in a closure 2012-09-23 00:52:34 +02:00
Araq
759b3201ad proc bodies can be expressions with a type 2012-09-22 22:43:36 +02:00
Dominik Picheta
be1a709e7e ftpclient fixed but causes an issue with the code generator and
therefore does not compile.

Asyncio: Added handleWrite event and an ability to wrap an already
initialised TSocket to a PAsyncSocket.
Fixed tircbot test.
2012-09-21 20:39:47 +01:00
Araq
505f179515 added tactors2 test 2012-09-21 19:31:18 +02:00
Araq
32aa46a881 bugfix: typeinfo generation 2012-09-21 16:28:57 +02:00
Araq
034686d4c0 bugfix: tester does not hang anymore 2012-09-21 00:32:15 +02:00
Araq
043921c7a7 fixes #194 2012-09-20 23:44:52 +02:00
Araq
cb6ad8cb74 bugfix: 'nimrod i' works again 2012-09-18 20:59:14 +02:00
Araq
9b8afc9321 pragma statements in rodfiles -- couldn't reproduce 2012-09-18 17:47:57 +02:00
Araq
a71c5f98ea made tests green again 2012-09-18 00:36:48 +02:00
Zahary Karadjov
b6f8ab3254 [unittest] even deeper inspection of expressions and variables for the check macro 2012-09-14 00:53:30 +03:00