Andreas Rumpf
77453f33df
fixes #6435
2017-09-25 14:27:19 +02:00
Andreas Rumpf
405b9c8a85
refactoring: TLoc knows the node it originated from; it is planned to use this to produce better C code (move optimizations)
2017-09-21 14:38:45 +02:00
Araq
46b672a6c4
minor codegen bugfix: don't use names for closures that are also mangled Nim names
2017-02-26 17:41:00 +01:00
Araq
4c5ecb46b0
fixes a minor codegen issue where name mangling could produce an identifier used by the codegen; refs #5437
2017-02-26 17:41:00 +01:00
Brandon Pickering
da1293c405
Reset exprs before return by arg. Fixes #5098 ( #5191 )
2017-01-11 06:24:31 +01:00
Araq
e6c5622aa7
removed tyArrayConstr completely from the compiler; introduced tyAlias instead in preparation for further bugfixes
2016-11-14 23:18:30 +01:00
Jacek Sieka
3cd4cf4320
remove unused stuff
2016-08-09 22:54:27 +08:00
Jacek Sieka
981a8950c6
remove keepAlive and friends
2016-08-09 22:17:05 +08:00
Andreas Rumpf
b47d9b7b91
fixes #4371
2016-07-08 10:34:12 +02:00
Matthew Baulch
a2301f64cd
Return nil from genOtherArg after error.
2016-07-05 23:16:57 +10:00
Matthew Baulch
9a7b6af5fa
Report wrong arg count when too many params and no varargs.
2016-07-05 06:14:36 +10:00
Andreas Rumpf
1124c61c49
Merge branch 'devel' into new-ll
2016-01-14 15:01:55 +01:00
andri lim
aebad711ea
fixed #2240 and #3586
2016-01-05 07:52:56 +07:00
Andreas Rumpf
3d7c57db88
fixes #2659
2016-01-04 03:10:09 +01:00
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