summary refs log tree commit diff stats
path: root/compiler/transf.nim
Commit message (Collapse)AuthorAgeFilesLines
* VM: don't inject destructor calls, refs #7041Andreas Rumpf2018-11-061-13/+16
|
* Transf minor code optimization (#9433)cooldome2018-10-191-37/+12
|
* Change the order of compilation passes, transformation is made lazy at code ↵cooldome2018-10-181-22/+42
| | | | | | | | | | | | | | | 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
* fixes #5519Araq2018-10-181-3/+6
|
* fixes #7972Araq2018-10-181-10/+13
|
* Field checks for everybody (#8957)LemonBoy2018-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | * Field checks for JS backend * Clean nkCall nodes with no arguments Generating a nkEmpty in place of no arguments makes no sense form the AST point of view and also trips up the VM codegen. * Field checks for VM backend * Test case for #6612 This patchset fixes #6612 * Add test case for LHS double evaluation * Prevent LHS double-eval for JS backend * Prevent double evaluation in VM backend
* Fix transformation of yield in inline context (#9135)LemonBoy2018-10-091-15/+28
| | | | | | When the loop variables are part of the envP block it is not safe to use a nkFastAsgn. Fixes #2656
* Make the registered passes local to the ModuleGraph (#9259)LemonBoy2018-10-091-1/+1
| | | Closes #9068
* enable destructors for top level statements; needs to be documentedAndreas Rumpf2018-09-241-4/+4
|
* Revert #7964LemonBoy2018-09-211-6/+5
| | | | | | | Somehow the test case doesn't crash anymore and the regression in the doc generation is fixed. Fixes #9019
* fixes #1616; fixes 'nim doc' regressionsAndreas Rumpf2018-09-171-1/+2
|
* Fix AST generation for case statements (#8908)LemonBoy2018-09-071-1/+5
| | | Fixes #7534
* fixes merge conflictAndreas Rumpf2018-08-191-5/+6
|\
| * Fix unsound transform pass (#8633)LemonBoy2018-08-141-0/+4
| | | | | | | | | | When a `var openArray[T]` function parameter goes trough the `transformAddrDeref` pass we may lose the `var` specifier, leading to nasty crashes at runtime.
| * Mysterious fix for #8550 (#8561)LemonBoy2018-08-121-5/+2
| | | | | | | | Replacing the `for` body with a nkEmpty node is not the right thing to do.
* | more progress on destructor based stringsAndreas Rumpf2018-07-131-4/+4
|/
* make tests green againAndreas Rumpf2018-07-051-0/+2
|
* allow referencing other parameters in default parameter valuesZahary Karadjov2018-06-161-0/+46
| | | | | | | | fix #7756 fix #1201 fix #7000 fix #3002 fix #1046
* fixes yet another merge conflictAraq2018-06-111-1/+1
|\
| * Removed oldIterTranf featureYuriy Glukhov2018-06-101-1/+1
| |
* | fixex merge conflictsAraq2018-06-081-2/+6
|\|
| * Merge branch 'devel' into yield-in-tryYuriy Glukhov2018-05-151-52/+57
| |\
| * | Don't leak sem PContext into transfYuriy Glukhov2018-05-091-6/+5
| | |
| * | Closure iter transformationYuriy Glukhov2018-05-091-11/+14
| | |
* | | AST change: keep nkStaticStmt in the AST for incremental compilation supportAndreas Rumpf2018-06-031-1/+1
| | |
* | | baby steps for incremental compilationAndreas Rumpf2018-05-301-2/+2
| | |
* | | refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-3/+3
| | | | | | | | | | | | around explicitly
* | | remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-3/+3
| | |
* | | platform.nim doesn't use globals anymore; prepare msgs.nim for not using globalsAndreas Rumpf2018-05-181-4/+4
| | |
* | | remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-5/+5
| |/ |/|
* | options.nim: no global variables anymoreAndreas Rumpf2018-05-131-3/+3
| |
* | transf and vmgen compile againAndreas Rumpf2018-05-121-43/+46
|/
* .experimental can now be used to enable specific featuresAndreas Rumpf2018-04-241-3/+3
|
* introduce nkTupleConstr AST node for unary tuple construction; breaking changeAndreas Rumpf2018-04-131-3/+3
|
* Cpp codegen: handling of imported exceptions. Fixes #3571 (#7360)cooldome2018-04-101-1/+1
|
* Fix compiler crash on try expression with infix as (Fixes #7116) (#7112)cooldome2018-01-291-1/+1
| | | | | | * Fix compiler crash * make sure type is not lost
* preparations for language extensions: 'sink' and 'lent' typesAndreas Rumpf2018-01-071-3/+3
|
* symbol files: fixes the logic for multi-methodsAraq2018-01-031-1/+1
|
* first steps in adding template/macro calls to stack tracesAraq2017-12-211-1/+1
|
* the documentation generator now supports ':test:' for the testing of test ↵Araq2017-11-281-1/+1
| | | | snippets
* fixes #6724Andreas Rumpf2017-11-191-3/+3
|
* fixes new liftLocals passAndreas Rumpf2017-11-021-1/+1
|
* implemented undocumented '.liftLocals' featureAndreas Rumpf2017-11-021-1/+2
|
* deprecated unary '<'Andreas Rumpf2017-10-291-5/+5
|
* make tests green againAraq2017-10-261-3/+6
|
* destructors: work in progressAraq2017-10-261-0/+3
|
* new destroyer pass works with procs tooAndreas Rumpf2017-10-131-4/+4
|
* introduce --newruntime switch for the upcoming destructors and move semanticsAndreas Rumpf2017-10-131-3/+8
|
* simple programs now work with the new destroyer passAndreas Rumpf2017-10-121-1/+1
|
* initial version of the new untested destructor passAndreas Rumpf2017-10-121-3/+3
|