Commit graph

246 commits

Author SHA1 Message Date
Araq
787687727a fixes #9076 2018-09-26 11:32:02 +02:00
Andreas Rumpf
696c0c48c7 fixes merge conflict 2018-08-19 15:14:03 +02:00
LemonBoy
ac0f5c83ca Fixes 8535 (#8591)
* Goodbye postInitProc

* Give preInitProc its own scope

Avoid any conflict between the variables introduced by preInitProc and
initProc since both are codegen'd in the same function body.

* Fix codegen for global var init in emulated TLS

Fixes #8535

* Add test for #8535

* Keep a bogus stack frame around

* Remove more dead code
2018-08-17 00:34:27 +02:00
LemonBoy
3cb963f114 Fixes 8616 (#8617)
* Don't leave dangling forward references to types

Fixes #8616

* Add a test case for #8616
2018-08-12 20:43:30 +02:00
Andreas Rumpf
4389409e26 fix merge conflict 2018-07-18 09:46:30 +02:00
Timothee Cour
d07489abf4 fix #7405 and #8195 (#8198)
* fix #7405 and #8195

* control pushInfoContext in semExprNoType,genStmts via a new hintExtendedContext; make NotesVerbosity computation more DRY

* addressed comments
2018-07-16 13:34:44 +02:00
Andreas Rumpf
ce01472ff3 refactorings in preparations for the new runtime 2018-07-10 10:39:53 +02:00
Andreas Rumpf
db35ac435b code cleanup: remove newScopeForIf switch 2018-07-04 20:04:08 +02:00
LemonBoy
722abbe9c9 Reject enums with holes when computedGoto is used (#8132)
Fixes #7699
2018-06-27 21:36:52 +02:00
Araq
9adfaa7f07 fixes #8076 2018-06-20 10:20:42 +02:00
Araq
8e9551b1c7 fixex merge conflicts 2018-06-08 19:50:36 +02:00
Yuriy Glukhov
29a01da90f Fixes #7982 2018-06-07 17:17:07 +03:00
Andreas Rumpf
a4e2b0c153 platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals 2018-05-18 15:18:00 +02:00
Andreas Rumpf
bf6c2c5ccf preparations of making compiler/msgs.nim free of global variables 2018-05-17 15:21:22 +02:00
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