Commit graph

282 commits

Author SHA1 Message Date
Araq
635451591d extccomp: no globals anymore 2018-05-16 02:01:55 +02:00
Yuriy Glukhov
cfe40a3e6e Merge branch 'devel' into yield-in-try 2018-05-15 19:54:52 +03:00
Andreas Rumpf
328e7a1005 options.nim: no global variables anymore 2018-05-13 17:52:21 +02:00
Andreas Rumpf
1284827df2 C code generator compiles again 2018-05-12 23:45:51 +02:00
Yuriy Glukhov
fb965719a6 Fixed codegen (added blockLeaveActions) to closure iters 2018-05-09 22:25:28 +03:00
Yuriy Glukhov
d71f69ab50 Closure iter transformation 2018-05-09 22:25:27 +03:00
Jacek Sieka
72dfe176f5 remove dead code elimination option (#7669) 2018-04-23 11:02:38 +02:00
Jacek Sieka
85e21158db Cleanups 20180401 (#7458) 2018-04-12 17:35:10 +02:00
cooldome
19aad4f547 quick bug fix (#7576) 2018-04-12 08:00:54 +02:00
cooldome
16c1a90857 Cpp codegen: handling of imported exceptions. Fixes #3571 (#7360) 2018-04-10 12:14:59 +02:00
cooldome
bcda71a8a7 fixes #7414 (#7434) 2018-03-29 09:19:03 +02:00
cooldome
23230572e2 Fixes #7363 (#7371) 2018-03-20 11:14:47 +01:00
cooldome
4164ec4f8b Fixes #6837 (#7271) 2018-03-02 12:14:41 +01:00
cooldome
45d3e2e510 genTryCpp codegen. Fixes #7232. Fixes #7239 (#7240) 2018-02-22 09:58:56 +01:00
cooldome
d24b6667c6 genTryCpp to catch by Nim type, ready for first review (#7196)
* Rewrite genTryCpp

* correction

* Implement polymorphic raise in cpp

* revert backticks in emit

* Cleanp a comment

* revert test changes

* better handling of <new> header
2018-02-12 21:23:34 +01:00
cooldome
7cbab49645 nested finally bug (#7207) 2018-02-12 21:20:49 +01:00
Araq
f71f9f83c2 GC improvements; distinguish between thread local and globals in the marking step 2018-01-14 17:34:27 +01:00
Araq
ee67a67ac4 first steps in adding template/macro calls to stack traces 2017-12-21 10:03:33 +01:00
Andreas Rumpf
30b098fcaf wip 2017-11-02 15:39:44 +01:00
Andreas Rumpf
70ea45cdba deprecated unary '<' 2017-10-29 08:37:13 +01:00
Andreas Rumpf
c6235920cb backend preparations for incomplete/forwarded object types 2017-10-28 13:46:43 +02:00
Andreas Rumpf
129a599cd6 fixes #6422 2017-10-26 12:23:37 +02:00
Andreas Rumpf
14ca49743f make nnkGotoState and labels more flexible 2017-10-15 01:26:48 +02:00
Andreas Rumpf
d8746398c4 allow macros to produce nnkGotoState and nkState 2017-10-09 21:12:40 +02:00
Andreas Rumpf
1a61c4d46d first implementation of the 'func' keyword 2017-09-23 23:22:53 +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
Andreas Rumpf
a04c7d8b38 introduce OnHeapNew and rename TLoc.s to TLoc.storage 2017-09-21 11:38:04 +02:00
Andreas Rumpf
ad608838bf closures have an object type field so that we can perform correct deepCopy() for the BoehmGC target 2017-07-22 11:10:52 +02:00
Jacek Sieka
ba4cc4bf35 a few tiny cleanups (#5712)
exposes emitLazily (for nlvm) and simplifies some conditionals
2017-05-29 09:42:26 +02:00
Ruslan Mustakov
29507d2491 Consider optNoCppExceptions in blockLeaveActions (#5801) 2017-05-11 22:30:48 +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
Andreas Rumpf
2d546ca0ac fixes #5417 2017-02-24 00:32:14 +01:00
Arne Döring
92c2a51bf7 removed compiler internal list implementation (#5371) 2017-02-22 17:33:12 +01:00
Araq
804b0ff99c fixes #5400 2017-02-16 22:50:21 +01:00
Andreas Rumpf
848676cec6 name mangling bugfixes; ndi file generation for debugger support 2017-02-03 09:49:36 +01:00
Andreas Rumpf
fab69661ad new name mangling rules for easier debugging 2017-02-02 16:27:48 +01:00
Andreas Rumpf
d651012688 template+emit supports volatileRead and volatileWrite ops 2017-01-23 11:22:19 +01:00
Araq
24239c2361 Merge branch 'devel' into sighashes 2016-12-17 23:04:34 +01:00
Andreas Rumpf
b013430929 reworked emit pragma; fixes #4730 2016-12-17 14:20:57 +01:00
Araq
ba38b83dd5 refactoring: C codegen with fewer global variables 2016-12-05 12:14:24 +01:00
Araq
1c20046f28 sighashes: make more tests green 2016-11-29 10:37:32 +01:00
Araq
3b43cff0f8 C codegen: first version of signature hashing for better incremental builds 2016-11-08 08:37:11 +01:00
Andreas Rumpf
08a6f3fc67 fixes #4721 2016-09-07 08:29:45 +02:00
Andreas Rumpf
dfa0699e73 C++ backend: use .noInit pragma for non-public default constructors; refs #4687 2016-09-04 22:36:29 +02:00
Andreas Rumpf
10f445da89 Merge pull request #4592 from arnetheduck/compiler-cleanup
Compiler cleanup
2016-08-25 16:50:54 +02:00
andri lim
21120a3e6c fixed #4459 -- VS2010 error C2275 2016-08-13 20:26:25 +07:00
Jacek Sieka
3cd4cf4320 remove unused stuff 2016-08-09 22:54:27 +08:00
Jacek Sieka
7d62f031f6 remove sfFakeConst 2016-07-30 16:19:53 +08:00
Andreas Rumpf
60b187513e stdlib and compiler don't use .immediate anymore 2016-07-29 23:51:01 +02:00
Andreas Rumpf
4b0ba5e3f1 C code generation now deterministic; fixes #4364 2016-06-22 02:50:50 +02:00