summary refs log tree commit diff stats
path: root/lib/core
Commit message (Collapse)AuthorAgeFilesLines
* hotfix: discriminants can be of size 8 bytes [backport]Araq2018-12-051-0/+1
|
* gc:destructors: more progressAndreas Rumpf2018-11-292-19/+15
|
* gc:destructors further progressAndreas Rumpf2018-11-292-2/+15
|
* some progress on --gc:destructorsAndreas Rumpf2018-11-271-17/+18
|
* new minor language feature: .noSideEffect blocks like .gcsafe blocksAndreas Rumpf2018-11-271-3/+4
|
* Add isInstanceOf for generic procs to the macros module (#9730)cooldome2018-11-211-0/+6
|
* removes deprecated T/P typesAraq2018-11-163-6/+0
|
* --gc:destructors: hello world example compiles and runsAraq2018-11-161-1/+1
|
* Add proc `[]`(n: NimNode, s: HSlice[T, U]): seq[NimNode] to macros (#7735)Lolo Iccl2018-11-101-0/+12
| | | fixes #7670.
* newLit works on enum (#9662)Arne Döring2018-11-091-0/+10
| | | | | | * newLit works on enum * remove debugging echo
* VM: don't inject destructor calls, refs #7041Andreas Rumpf2018-11-061-1/+3
|
* Fix names set and get procs in macrosB3liever2018-10-301-2/+10
|
* Improve dumpLisp macro (#9515)Kaushal Modi2018-10-271-62/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Improve dumpLisp macro - Remove commas from the lisp representation of the AST. - Make the dumpLisp output "pretty" and indented. - Improve docs of `dumpTree` and `dumpLisp` macros. With: dumpLisp: echo "Hello, World!" Output before this commit: StmtList(Command(Ident("echo"), StrLit("Hello, World!"))) Output after this commit: (StmtList (Command (Ident "echo") (StrLit "Hello, World!"))) * Re-use the traverse proc inside treeRepr for lispRepr too - Add module-local `treeTraverse` proc. - Also fix treeRepr/dumpTree not printing nnkCommentStmt node contents. * More doc string updates * Allow unindented lispRepr output for tests * Update a test affected by the lispRepr change * Fix dumpTree * Add note about lispRepr and dumpLisp to changelog [ci skip]
* Change the order of compilation passes, transformation is made lazy at code ↵cooldome2018-10-181-0/+4
| | | | | | | | | | | | | | | 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
* changelog entryArne Döring2018-10-181-2/+1
|
* fix typoArne Döring2018-10-181-1/+1
|
* fixed commentArne Döring2018-10-181-2/+2
|
* added test case for `or` operatorArne Döring2018-10-181-3/+3
|
* or on NimNodeArne Döring2018-10-181-1/+16
|
* fixes #8916 by fixing typeinfo and marshal. (#9341)Vindaar2018-10-131-8/+11
| | | | | | | | | * fixes #8916 by removing `tyString`, `tySeq`, mod. marshal, typeinfo Need to check in `typeinfo` for nil of the underlying pointer. In marshal don't have to check for nil of seq anymore. * remove reference to string, sequence in `isNil` doc string
* Unchecked arrays now have their own type (#9267)LemonBoy2018-10-101-1/+1
|
* Fix macro expansion in expandMacros (#8998)LemonBoy2018-10-091-5/+3
| | | | | | | | | | * Fix macro expansion in expandMacros Running a semanticized node trough the semantic pass was a bad idea. Fixes #7723 * Simpler smaller implementation
* Update macros.nim (#9182)Timothee Cour2018-10-031-1/+3
| | | | | | * Update macros.nim * Update macros.nim
* some simple sub-expression elimination not applied by the previos authorZahary Karadjov2018-09-171-11/+13
|
* Bugfix: custom pragmas were not working on public fieldsZahary Karadjov2018-09-171-4/+9
|
* fixes merge conflictsAndreas Rumpf2018-09-115-372/+665
|\
| * Add sym owner to macros (#8253)cooldome2018-09-031-0/+6
| |
| * Allow `hint` and `warning` to specify its loc info (#8771)LemonBoy2018-08-281-2/+2
| | | | | | Let's bring those to feature-parity with `error`.
| * doAssert, assert now print full path of failing line on error (#8555)Timothee Cour2018-08-251-1/+3
| |
| * fixes merge conflictAndreas Rumpf2018-08-191-0/+3
| |\
| | * fixes #5617, 'copyLineInfo' addition (#8523)andri lim2018-08-051-0/+3
| | |
| * | make at least bootstrapping workAraq2018-08-051-2/+13
| |\|
| | * fixes #7827, bindSym enhancement (#8499)andri lim2018-08-021-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bindSym power up, working prototype * update bindSym doc * add bindSym test * fix some typo * fix bindSym doc * get rid of specialops field from vm * add experimental: dynamicBindSym
| | * `lineInfoObj` (and `check`, `expect`) now return absolute paths (#8466)Timothee Cour2018-07-311-0/+1
| | |
| | * fixes #8371, macros.hasCustomPragma doesn't crash anymore (#8378)andri lim2018-07-201-1/+3
| | | | | | | | | | | | | | | | | | * fixes #8371, macros.hasCustomPragma doesn't crash anymore * fix macros.hasCustomPragma
| * | WIP: nothing worksAndreas Rumpf2018-08-051-1/+1
| | |
| * | allows a destructor to be attached to a tyString/tySequenceAndreas Rumpf2018-07-272-9/+20
| | |
| * | allocators: add deallocAll proc pointerAndreas Rumpf2018-07-271-0/+1
| | |
| * | fix merge conflictAndreas Rumpf2018-07-181-1/+3
| |\|
| | * Custom pragmas in proc types (#8205)cooldome2018-07-091-1/+3
| | |
| * | WIP: strings/seqs based on destructorsAndreas Rumpf2018-07-172-115/+146
| | |
| * | more progress on destructor based stringsAndreas Rumpf2018-07-131-77/+69
| | |
| * | system.substr is not implemented with compilerProcs anymoreAndreas Rumpf2018-07-112-51/+121
| |/
| * WIP: an API for VM replay global state supportAndreas Rumpf2018-06-031-0/+47
| |
| * macros.nim: remove deprecated symbolsAndreas Rumpf2018-06-031-3/+0
| |
| * Better support for treating templates and macros as symbols.Zahary Karadjov2018-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows you to pass a template or a macro to another macro which can then inspect the implementation of the former template/macro using `getImpl`. Since templates can be freely redefined, this allows you to treat their symbols as compile-time variables that have lexical scope. A motivating PoC example for a logging library taking advantage of this will be provided in the next commit. Implementation details: * The name of a template or a macro will be consider a symbol if the template/macro requires parameters * For parameterless templates/macros, you can use `bindSym`, which was extended to also work outside of compile-time procs.
| * hasCustomPragma/getCustomPragmaVal: small fix (#7650)RSDuck2018-04-191-1/+5
| | | | | | | | | | | | | | | | * fix hasCustomPragma/getCustomPragmaVal for types without pragma * fix pragma on pointer test * removed trailing spaces
| * Fixes #7595 (#7623)Dmitry Atamanov2018-04-161-7/+6
| | | | | | | | | | | | | | | | * Fixes #7595 * Add brackets * Fix for treeRepr and lispRepr too
| * update macros.nim: followup on pull #7598 (#7619)Timothee Cour2018-04-161-5/+2
| | | | | | | | @Araq @krux02 https://github.com/nim-lang/Nim/pull/7598 seemed inaccurate eg for NLineInfo there's `mNLineInfo` but no opcNLineInfo
| * move eqIdent to vm.nim (#7585)Arne Döring2018-04-151-32/+51
| | | | | | | | | | | | * Strutils comment changes. * fix typo