summary refs log tree commit diff stats
path: root/compiler/ast.nim
Commit message (Collapse)AuthorAgeFilesLines
* add custom pragma support for var and let symbols (#9582)jcosborn2019-01-071-0/+7
| | | | | | * add custom pragma support for var and let symbols * updated changelog for custom pragmas on var and let symbols * add oldast switch for backwards compatibility
* much simpler implementation of constant tuple declarationsAndreas Rumpf2018-12-191-2/+1
|
* Const tuple unpacking (#9964)Neelesh Chandola2018-12-191-1/+2
| | | | | | | | | | * tuple unpacking is now supported for consts * Move nkConstTuple to the end of TNodeKind * Add nnkConstTuple in macros.nim * Fix Formatting
* compiler refactoring: TSymSeq is gone for goodAraq2018-12-111-2/+1
|
* fixes nested gensym'ed parameters; fixes #9476Araq2018-12-081-3/+3
|
* More dead code (#9835)Jacek Sieka2018-12-041-2/+0
| | | | | | * remove more assignment flags * needsComplexAssignment > containsGarbageCollectedRef * remove OnStackShadowDup
* IC: further progressAraq2018-12-011-6/+6
|
* fixes #9675Andreas Rumpf2018-11-261-2/+2
|
* Remove dead code (#9777)Jacek Sieka2018-11-261-1/+0
| | | | | | | | | * gc/gc2: remove unused ref counting stuff * also removes some false threading support - hasSharedHeap is always false in gc/gc2 * gc: remove some threading cruft * remove asgnRefNoCycle * compiler: remove TLoc.dup (unused)
* Add isInstanceOf for generic procs to the macros module (#9730)cooldome2018-11-211-1/+2
|
* compiler cleanup: flag tfOldSchoolExprStmt is goneAraq2018-11-061-3/+0
|
* language cleanup: the .unchecked pragma is deadAraq2018-11-061-1/+0
|
* fixes tnre regressionAraq2018-10-291-1/+1
|
* make tstatic_t_bug compile with the C++ backendAraq2018-10-281-2/+2
|
* Change the order of compilation passes, transformation is made lazy at code ↵cooldome2018-10-181-2/+2
| | | | | | | | | | | | | | | 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
* Merge branch 'Fixes-7845' of https://github.com/cooldome/Nim into ↵Araq2018-10-151-6/+5
|\ | | | | | | cooldome-Fixes-7845
| * one more attemptcooldome2018-06-281-3/+5
| |
| * Fix failing testcooldome2018-06-261-1/+1
| |
| * Merge branch 'devel' into Fixes-7845cooldome2018-06-261-34/+45
| |\
| * | FIx test tembarrassing_generic_failurecooldome2018-06-121-1/+1
| | |
| * | Fixescooldome2018-06-121-5/+4
| | |
| * | Fixes 7845cooldome2018-06-101-7/+5
| | |
* | | implement sizeof and alignof operator (manually squashed #5664) (#9356)Timothee Cour2018-10-141-7/+3
| | |
* | | compiler: show name of instantiating context in error traces (#6763) (#9207)xzfc2018-10-111-0/+3
| | |
* | | Unchecked arrays now have their own type (#9267)LemonBoy2018-10-101-2/+4
| | |
* | | fixes unexpected transforming of runnableExamples (#9158)Steve Kellock2018-10-091-0/+5
| | |
* | | Try/Catch support for native JS exceptions (#8955)LemonBoy2018-10-091-2/+3
| | | | | | | | | | | | | | | | | | * Try/Catch support for native JS exceptions * Better tests
* | | Add sym owner to macros (#8253)cooldome2018-09-031-1/+1
| | |
* | | fixes #5745Araq2018-09-031-4/+8
| | |
* | | fixes merge conflictAraq2018-08-231-0/+1
|\ \ \
| * | | Fix #8126 (#8712)zah2018-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is a temporary fix that will be reworked in a follow up commit that aims to eliminate the tfExplicit flag from the compiler. The complete and proper fix was considered too risky for inclusion just before our 0.19 release.
* | | | even more strict isNil handling for strings/seqs in order to detect bugsAraq2018-08-221-19/+33
| | | |
* | | | fixes merge conflictAndreas Rumpf2018-08-191-6/+20
|\| | |
| * | | Merge branch 'devel' into araq-miscAndreas Rumpf2018-08-161-0/+8
| |\ \ \
| | * | | Fix unsound transform pass (#8633)LemonBoy2018-08-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | When a `var openArray[T]` function parameter goes trough the `transformAddrDeref` pass we may lose the `var` specifier, leading to nasty crashes at runtime.
| * | | | fixes more nil handling regressionsAraq2018-08-131-2/+2
| | | | |
| * | | | WIP: disallow 'nil' for strings and seqsAndreas Rumpf2018-08-131-3/+9
| |/ / /
| * | | fixes #6255, add `system.ashr` arithmetic right shift (#8547)andri lim2018-08-071-1/+1
| | | |
* | | | allows a destructor to be attached to a tyString/tySequenceAndreas Rumpf2018-07-271-3/+3
| | | |
* | | | ast.nim: remove space for unary operatorAndreas Rumpf2018-07-221-1/+1
| | | |
* | | | fix merge conflictAndreas Rumpf2018-07-181-1/+2
|\| | |
| * | | Custom pragmas in proc types (#8205)cooldome2018-07-091-1/+2
| | |/ | |/|
* / | WIP: strings/seqs based on destructorsAndreas Rumpf2018-07-171-0/+1
|/ /
* | allow referencing other parameters in default parameter valuesZahary Karadjov2018-06-161-1/+7
| | | | | | | | | | | | | | | | fix #7756 fix #1201 fix #7000 fix #3002 fix #1046
* | fixes #7222; fixes #5595; fixes #3747Zahary Karadjov2018-06-161-0/+1
| | | | | | | | | | | | | | | | | | | | * late instantiation for the generic procs' default param values * automatic mixin behaviour in concepts Other fixes: * don't render the automatically inserted default params in calls * better rendering of tyFromExpr
* | A minimal patch enabling the new typedesc and static types syntaxZahary Karadjov2018-06-161-2/+2
| |
* | WIP: an API for VM replay global state supportAndreas Rumpf2018-06-031-3/+7
| |
* | incremental compilation: implemented basic replay logicAndreas Rumpf2018-06-021-16/+20
| |
* | baby steps for incremental compilationAndreas Rumpf2018-05-301-0/+2
| |
* | refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-1/+1
| | | | | | | | around explicitly