Commit Graph

159 Commits

Author SHA1 Message Date
Araq
865a43050d fixes #385 2013-06-03 01:21:21 +02:00
Araq
4308f32255 astToStr is now immediate 2013-06-02 21:52:04 +02:00
Araq
a8ba628bcd Revert "fixes #267"
This reverts commit 7fccdedcb5.
2013-05-27 23:20:41 +02:00
Araq
0662ec4a43 Revert "static and default params for generics"
This reverts commit 46813bbe4e.
2013-05-27 23:18:38 +02:00
Araq
e3f93241c3 Revert "fix tforwardgeneric"
This reverts commit d82a032566.
2013-05-27 23:18:15 +02:00
Araq
c67abd7e61 Revert "more test made green"
This reverts commit 911e6e710f.
2013-05-27 23:16:56 +02:00
Zahary Karadjov
911e6e710f more test made green
the lambda lifting was trying too hard to ignore generic prods
isGenericRoutine was producing false-negatives and only
this allowed for some of the warning and error messages
to be triggered.

some files with mixed line endings were fixed
2013-05-26 21:06:39 +03:00
Zahary Karadjov
d82a032566 fix tforwardgeneric 2013-05-26 15:12:09 +03:00
Zahary Karadjov
46813bbe4e static and default params for generics 2013-05-26 13:59:39 +03:00
Zahary Karadjov
7fccdedcb5 fixes #267 2013-05-26 11:14:23 +03:00
Zahary Karadjov
14b5d5f262 merged the persistent scopes work with the delayed proc compilation strategy 2013-05-12 14:41:32 +03:00
Zahary Karadjov
7a2b1a7520 get rid of ImportTablePos and ModuleTablePos 2013-05-12 01:20:40 +03:00
Zahary Karadjov
9a6f47ae69 switch to a linked list of scopes 2013-05-11 23:45:20 +03:00
Zahary Karadjov
f44a4362bb added a `noforward` pragma that enables a new compilation strategy
not requiring forward declarations on a per-module basis
2013-05-11 22:47:37 +03:00
Araq
9fc98cefda Merge branch 'master' into newparser 2013-05-07 18:44:24 +02:00
Araq
4de6d1be72 fixed void context detection 2013-05-07 13:54:38 +02:00
Zahary Karadjov
f52ea04d22 support suggest after compile in caas mode 2013-05-05 15:12:50 +03:00
Zahary Karadjov
3f1e9b3a25 Merge branch 'master' of gh:/Araq/Nimrod into upstream 2013-05-04 17:50:38 +03:00
Araq
5893a9195c implemented --dynlibOverride option for static linking of 'dynlib' 2013-04-08 16:38:49 +02:00
Araq
3051c52f51 fixes a long-standing bug about procvar checking 2013-03-25 01:44:52 +01:00
Araq
c9ed846a43 added system.locals 2013-03-21 21:28:46 +01:00
Grzegorz Adam Hankiewicz
72a3e21f28 Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
Araq
225d657019 first steps to implement object construction expressions 2013-03-07 01:52:17 +01:00
Zahary Karadjov
0774af169b containerID is no longer needed for generics 2013-03-01 12:12:53 +02:00
Araq
1c0c80ef2d micro optimizations for the evaluation engine 2013-02-14 08:41:48 +01:00
Araq
0f2aa053d9 added GC_addCycleRoot 2013-02-12 08:45:01 +01:00
Zahary Karadjov
81a3585872 merged upstream master 2013-01-27 23:41:45 +02:00
Zahary Karadjov
41cbd1c980 minor bug fixes to make some tests green 2013-01-21 02:03:13 +02:00
Araq
3af5c99336 fixes #293 2013-01-08 20:03:02 +01:00
Araq
7171ae62cb constraint now part of the parameter symbol and not of the type 2012-12-05 01:39:49 +01: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
92e10e4b18 implemented 'import except' 2012-11-28 23:54:23 +01:00
Araq
0d19de18cc first steps for the 'export' feature 2012-11-28 02:02:46 +01:00
Zahary Karadjov
c67520a7c5 temporary debugging code for the memory leak investigation 2012-11-28 01:15:14 +02:00
Zahary Karadjov
e6f3f46cd9 store the instantiation cache in the generic symbol 2012-11-28 01:15:13 +02:00
Zahary Karadjov
36e25a6849 CaaS in-memory caching
removed some redundant filepath params and variables and
switched to canonical paths in most places
2012-11-28 01:15:13 +02:00
Araq
ccd2934e4a first steps for 'not nil' annotation 2012-11-25 11:03:14 +01:00
Araq
019d6e4127 added missing type flags 2012-11-23 19:52:32 +01:00
Araq
46f92c31aa added 2 necessary node kinds 2012-11-21 20:55:03 +01:00
Araq
14fc0631d7 fixes #250 2012-11-19 00:16:25 +01:00
Araq
7f6633a06f added system.finished for first class iterators 2012-11-17 01:25:32 +01:00
Araq
814fcb2639 bugfix: stack traces; first class iterators almost working 2012-11-15 01:27:25 +01:00
Zahary Karadjov
32d0ac01dc AST quasi-quoting for macros 2012-11-11 17:02:13 +02: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
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
Zahary Karadjov
4ef96a7435 fixes #211
transf: fix a clang compilation error when lineDir:on is used
2012-10-13 23:31:27 +03: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
Zahary Karadjov
770d4a997e implemented case expressions 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
badb6c0f66 improved support for typedesc values
* can be stored in constants and variables (including in containers like sequences)
* can be passed to and returned from macros
2012-09-25 02:03:15 +03:00