Commit Graph

65 Commits

Author SHA1 Message Date
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