Araq
beca7ded1b
fixes #3144
2015-07-26 21:07:11 +02:00
Zahary Karadjov
1ebf1aaa80
importing of C++ nested generics like std::vector<T>::iterator, using the apostrophe operator
2015-04-13 23:49:41 +03:00
def
39049e151f
Get rid of deprecation warnings
2015-04-07 15:47:18 +02:00
Jacek Sieka
c40249cd43
compiler_ropes: ropeToStr -> $
2015-04-01 22:32:15 +08:00
Araq
57fa8c6d3f
bugfixes for C++ codegen
2015-04-01 15:34:15 +02:00
Araq
36acac3000
fixes #1717 , fixes #2324
2015-03-22 09:31:16 +01:00
Araq
0d804c2052
fixes #2266
2015-03-22 01:38:14 +01:00
Araq
1f02a7ace3
fixes #2336
2015-03-16 23:35:08 +01:00
Araq
1bbd13f729
bugfix: c++ pattern #@ could index out of bounds
2015-03-10 21:00:49 +01:00
Araq
f4a0400de2
fixes #2199 , fixes #2197
2015-02-24 19:19:08 +01:00
Araq
f9b3f7f980
fixes #2068
2015-02-12 16:10:38 +01:00
Araq
1314e91ef5
fixes c++ codegen regression
2015-02-07 10:48:09 +01:00
Araq
e84834db79
lots of C++ codegen improvements
2015-02-07 10:48:07 +01:00
Araq
e75e421912
C++ support: codegen generates C++'s references and avoids copies
2015-02-04 00:52:45 +01:00
Araq
e2147c9f0d
bugfixes for the new C++ patterns
2015-01-23 00:36:57 +01:00
Araq
a2b7e6c392
better C++ support wrt 'this'
2015-01-18 02:33:43 +01:00
Araq
33c587d06b
patterns for 'importcpp' (still undocumented)
2015-01-14 13:57:59 +01:00
Araq
8889fa9117
handle 'T&' properly for better C++ support
2015-01-13 22:30:56 +01:00
Araq
e65c296bcc
implemented mixed mode codegen
2014-10-03 01:21:35 +02:00
Araq
2781fea9e2
Nimrod renamed to Nim
2014-08-28 09:38:14 +02:00
Araq
f3d530e482
fixes #1434
2014-08-14 00:02:24 +02:00
Araq
9953e0bbca
tdisjoint_slice2 works
2014-05-31 01:16:16 +02:00
Araq
d0438540d0
implemented builtin noncopying slice
2014-05-02 08:44:03 +02:00
Araq
9d4c4592fa
more efficient calls for closure iterators
2014-01-25 14:22:38 +01:00
Araq
73c6efdf66
'nil' as a statement is deprecated, use an empty 'discard' instead
2014-01-19 16:54:59 +01:00
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01:00
Araq
132b6b3efe
implemented 'injectStmt'; more debug support
2013-12-16 22:26:17 +01:00
Araq
ce5a1365c2
preparations for the new symbol binding rules for clean templates
2013-05-18 10:05:06 +02:00
Araq
9fc2bfa799
codegen produces better code for complex assignments
2013-02-24 03:51:45 +01:00
Zahary Karadjov
81a3585872
merged upstream master
2013-01-27 23:41:45 +02:00
Araq
e6fc044107
fixes #299
2013-01-08 18:20:40 +01:00
Zahary Karadjov
e817d54369
first batch of rope code converted to rfmt
...
The results so far are inconclusive:
The rope cache tries have been reduced by more than 125K (nearly 20%),
but the bootstrap time seems to be ever slightly increasing (0.01s).
2012-11-28 01:15:13 +02: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
27dc9fcb8f
fixes #186 and the ttypedesc1 test case
2012-09-23 19:34:20 +03:00
Araq
51de278bd4
next steps for tyVarargs/tyOpenArray split
2012-08-14 08:44:26 +02:00
Zahary Karadjov
df1ec09399
proper indentation in the generated C code
2012-06-12 04:43:58 +03:00
Araq
04300542da
fixes #127
2012-05-30 22:37:17 +02:00
Zahary Karadjov
567b5b07ea
fixes #20 properly
2012-04-15 01:06:40 +03:00
Zahary Karadjov
d2b45dbe85
C variables are created in their enclosing block instead of their enclosing function
2012-04-12 14:12:32 +03:00
Zahary Karadjov
22dc76a361
typedesc and expr params
...
types are now valid proc/template/macro params and you can overload over them:
proc foo(T: typedesc) # accept any type
proc foo(T: typedesc{int}) # overload specifically for int
proc foo(T: typedesc{int or float or Callable}) # overload for any type matching the constraints
expr{type} is a param expecting compile time value of the designated type (or type class).
when typedesc or expr params are used with a proc, the proc will be instantiated once
for each unique type/value used as parameter.
2012-03-31 18:50:48 +03:00
Zahary Karadjov
e5bd3b5b97
bootstraps fine with overloadable templates
2012-03-14 21:00:42 +02:00
Araq
161f6f7229
further steps for closure support
2012-02-06 08:44:18 +01:00
Araq
632aece191
further steps to closure support
2012-02-06 00:19:56 +01:00
Araq
23340695d0
fixes #89
2012-01-29 02:13:53 +01:00
Araq
1d1752cac7
removed nimKeepAlive as it's not necessary with interior pointer checking
2012-01-15 11:54:38 +01:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +01:00
Araq
cd83cc81aa
code gen can generate code to keep alive stack roots
2011-12-22 15:04:00 +01:00
Araq
94358e03e9
compiler generates volatile temps to keep C compiler from optimizing away stack roots
2011-12-12 01:40:23 +01:00
Araq
af792da0bb
codegen uses alias analysis to generate better code
2011-12-10 01:06:32 +01:00
Araq
7fcbdc6d42
implemented 'let' statement
2011-11-29 17:27:48 +01:00