summary refs log tree commit diff stats
path: root/compiler/sempass2.nim
Commit message (Collapse)AuthorAgeFilesLines
* more destructor based changes (#10885)Andreas Rumpf2019-03-231-81/+41
| | | | | | | | | | | * mark user defined destructors with sfOverriden to simplify the logic * refactoring in preparation to merge liftings and generic instantiations for destructors * ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on * renamed 'patterns' switch to 'trmacros' as it was totally misleading before * destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking * test for invalid/too late destructor introductions * liftdestructors: make code robust for nimsuggest * --newruntime works for hello world again * newruntime: code generation for closures
* fixes #10807 (#10814)cooldome2019-03-121-1/+1
| | | | | * fixes #10807 * use nkAddr instead of nkHiddenAddr
* make tests green againAndreas Rumpf2019-03-061-1/+2
|
* fixes a critical GC safety inference bug (#10615)Andreas Rumpf2019-03-051-9/+13
| | | | | | * fixes a critical GC safety inference bug * make nimsuggest compile again * make Nimble compile again
* fixes #6955Andreas Rumpf2019-02-131-3/+7
|
* Fix handling of reraise in effect tracking (#10582)LemonBoy2019-02-071-5/+11
| | | | | | This is the MVP in order not to get a completely useless error message from the compiler. Fixes #10579
* Do not raise ProveInit/WanrUninit for .noinit. var (#10566)LemonBoy2019-02-061-1/+4
|
* Fix exception tracking in try blocks (#10455)LemonBoy2019-01-271-1/+9
| | | | | | Exceptions raised inside a nkFinally/nkExcept block are not caught by the block itself. Fixes #3886
* control flow graphs: introduce 'join' points for easy analyses based on ↵Andreas Rumpf2019-01-231-1/+1
| | | | abstract interpretation
* new minor language feature: .noSideEffect blocks like .gcsafe blocksAndreas Rumpf2018-11-271-2/+8
|
* make Nim take roughly 100MB less RAM for bootstrapping via a new compiler ↵Andreas Rumpf2018-11-071-2/+5
| | | | switch -d:leanCompiler; useful for the Raberry PI
* Change the order of compilation passes, transformation is made lazy at code ↵cooldome2018-10-181-4/+12
| | | | | | | | | | | | | | | gen (#8489) * Ast no transformation * Add getImplNoTransform to the macros module * progress on delaying transf * Fix methods tranformation * Fix lazy lambdalifting * fix create thread wrapper * transform for lambda lifting * improve getImplTransformed * Fix destructor tests * try to fix nimprof for linux
* even more strict isNil handling for strings/seqs in order to detect bugsAraq2018-08-221-2/+2
|
* Extend init variable tracking to tuple assignments (#8321)LemonBoy2018-07-171-0/+9
| | | Fixes #8314
* Custom pragmas in proc types (#8205)cooldome2018-07-091-10/+14
|
* refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-14/+14
| | | | around explicitly
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-3/+3
|
* remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-2/+2
|
* make tests green againAraq2018-05-141-1/+1
|
* options.nim: no global variables anymoreAndreas Rumpf2018-05-131-5/+5
|
* sempass2 compiles againAndreas Rumpf2018-05-111-78/+82
|
* guards.nim does compileAndreas Rumpf2018-05-111-24/+23
|
* Cpp codegen: handling of imported exceptions. Fixes #3571 (#7360)cooldome2018-04-101-3/+6
|
* Small performance improvement in sempass2 (#7168)cooldome2018-02-011-11/+8
|
* Fixes #7140 (#7154)Yuriy Glukhov2018-01-301-1/+1
|
* next steps in giving Nim a decent DFA infrastructureAraq2017-12-181-3/+3
|
* fixes not-nil regressionAraq2017-11-231-1/+1
|
* fixes #3993Araq2017-11-231-1/+2
|
* fixes #6489Araq2017-11-231-1/+1
|
* fixes #6555Araq2017-11-231-0/+1
|
* deprecated unary '<'Andreas Rumpf2017-10-291-24/+24
|
* make tests green againAndreas Rumpf2017-10-151-0/+1
|
* make httpclient compile again via a workaroundAraq2017-10-151-2/+5
|
* fixes #5620Araq2017-10-141-12/+3
|
* initial version of the new untested destructor passAndreas Rumpf2017-10-121-3/+4
|
* disable the new DFAAndreas Rumpf2017-10-091-2/+5
|
* work in progress: a dataflow architecture for NimAndreas Rumpf2017-10-091-2/+4
|
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-4/+4
|
* fixes #6067Andreas Rumpf2017-07-081-1/+2
|
* fixes #5959Araq2017-06-091-2/+1
|
* fixes #5729Araq2017-04-191-1/+1
|
* fixes yet another regression caused by the .procvar removalAndreas Rumpf2017-04-141-0/+4
|
* fix another compiler regressionAndreas Rumpf2017-04-051-0/+4
|
* make tests green againAndreas Rumpf2017-04-041-1/+1
|
* attempt to make tests green againAndreas Rumpf2017-04-041-1/+2
|
* remove the need for the .procvar annotationAndreas Rumpf2017-04-031-0/+9
|
* fix #5296 (#5565)zah2017-03-191-0/+3
|
* implements {.gcsafe.} enforcement as a pragma blockAndreas Rumpf2017-01-181-11/+19
|
* fixes #4927Araq2016-10-221-2/+7
|
* fixes #4808Andreas Rumpf2016-10-211-1/+2
|