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