Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | hotfix: discriminants can be of size 8 bytes [backport] | Araq | 2018-12-05 | 1 | -0/+1 |
| | |||||
* | gc:destructors: more progress | Andreas Rumpf | 2018-11-29 | 2 | -19/+15 |
| | |||||
* | gc:destructors further progress | Andreas Rumpf | 2018-11-29 | 2 | -2/+15 |
| | |||||
* | some progress on --gc:destructors | Andreas Rumpf | 2018-11-27 | 1 | -17/+18 |
| | |||||
* | new minor language feature: .noSideEffect blocks like .gcsafe blocks | Andreas Rumpf | 2018-11-27 | 1 | -3/+4 |
| | |||||
* | Add isInstanceOf for generic procs to the macros module (#9730) | cooldome | 2018-11-21 | 1 | -0/+6 |
| | |||||
* | removes deprecated T/P types | Araq | 2018-11-16 | 3 | -6/+0 |
| | |||||
* | --gc:destructors: hello world example compiles and runs | Araq | 2018-11-16 | 1 | -1/+1 |
| | |||||
* | Add proc `[]`(n: NimNode, s: HSlice[T, U]): seq[NimNode] to macros (#7735) | Lolo Iccl | 2018-11-10 | 1 | -0/+12 |
| | | | fixes #7670. | ||||
* | newLit works on enum (#9662) | Arne Döring | 2018-11-09 | 1 | -0/+10 |
| | | | | | | * newLit works on enum * remove debugging echo | ||||
* | VM: don't inject destructor calls, refs #7041 | Andreas Rumpf | 2018-11-06 | 1 | -1/+3 |
| | |||||
* | Fix names set and get procs in macros | B3liever | 2018-10-30 | 1 | -2/+10 |
| | |||||
* | Improve dumpLisp macro (#9515) | Kaushal Modi | 2018-10-27 | 1 | -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 ↵ | cooldome | 2018-10-18 | 1 | -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 entry | Arne Döring | 2018-10-18 | 1 | -2/+1 |
| | |||||
* | fix typo | Arne Döring | 2018-10-18 | 1 | -1/+1 |
| | |||||
* | fixed comment | Arne Döring | 2018-10-18 | 1 | -2/+2 |
| | |||||
* | added test case for `or` operator | Arne Döring | 2018-10-18 | 1 | -3/+3 |
| | |||||
* | or on NimNode | Arne Döring | 2018-10-18 | 1 | -1/+16 |
| | |||||
* | fixes #8916 by fixing typeinfo and marshal. (#9341) | Vindaar | 2018-10-13 | 1 | -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) | LemonBoy | 2018-10-10 | 1 | -1/+1 |
| | |||||
* | Fix macro expansion in expandMacros (#8998) | LemonBoy | 2018-10-09 | 1 | -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 Cour | 2018-10-03 | 1 | -1/+3 |
| | | | | | | * Update macros.nim * Update macros.nim | ||||
* | some simple sub-expression elimination not applied by the previos author | Zahary Karadjov | 2018-09-17 | 1 | -11/+13 |
| | |||||
* | Bugfix: custom pragmas were not working on public fields | Zahary Karadjov | 2018-09-17 | 1 | -4/+9 |
| | |||||
* | fixes merge conflicts | Andreas Rumpf | 2018-09-11 | 5 | -372/+665 |
|\ | |||||
| * | Add sym owner to macros (#8253) | cooldome | 2018-09-03 | 1 | -0/+6 |
| | | |||||
| * | Allow `hint` and `warning` to specify its loc info (#8771) | LemonBoy | 2018-08-28 | 1 | -2/+2 |
| | | | | | | Let's bring those to feature-parity with `error`. | ||||
| * | doAssert, assert now print full path of failing line on error (#8555) | Timothee Cour | 2018-08-25 | 1 | -1/+3 |
| | | |||||
| * | fixes merge conflict | Andreas Rumpf | 2018-08-19 | 1 | -0/+3 |
| |\ | |||||
| | * | fixes #5617, 'copyLineInfo' addition (#8523) | andri lim | 2018-08-05 | 1 | -0/+3 |
| | | | |||||
| * | | make at least bootstrapping work | Araq | 2018-08-05 | 1 | -2/+13 |
| |\| | |||||
| | * | fixes #7827, bindSym enhancement (#8499) | andri lim | 2018-08-02 | 1 | -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 Cour | 2018-07-31 | 1 | -0/+1 |
| | | | |||||
| | * | fixes #8371, macros.hasCustomPragma doesn't crash anymore (#8378) | andri lim | 2018-07-20 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | | | * fixes #8371, macros.hasCustomPragma doesn't crash anymore * fix macros.hasCustomPragma | ||||
| * | | WIP: nothing works | Andreas Rumpf | 2018-08-05 | 1 | -1/+1 |
| | | | |||||
| * | | allows a destructor to be attached to a tyString/tySequence | Andreas Rumpf | 2018-07-27 | 2 | -9/+20 |
| | | | |||||
| * | | allocators: add deallocAll proc pointer | Andreas Rumpf | 2018-07-27 | 1 | -0/+1 |
| | | | |||||
| * | | fix merge conflict | Andreas Rumpf | 2018-07-18 | 1 | -1/+3 |
| |\| | |||||
| | * | Custom pragmas in proc types (#8205) | cooldome | 2018-07-09 | 1 | -1/+3 |
| | | | |||||
| * | | WIP: strings/seqs based on destructors | Andreas Rumpf | 2018-07-17 | 2 | -115/+146 |
| | | | |||||
| * | | more progress on destructor based strings | Andreas Rumpf | 2018-07-13 | 1 | -77/+69 |
| | | | |||||
| * | | system.substr is not implemented with compilerProcs anymore | Andreas Rumpf | 2018-07-11 | 2 | -51/+121 |
| |/ | |||||
| * | WIP: an API for VM replay global state support | Andreas Rumpf | 2018-06-03 | 1 | -0/+47 |
| | | |||||
| * | macros.nim: remove deprecated symbols | Andreas Rumpf | 2018-06-03 | 1 | -3/+0 |
| | | |||||
| * | Better support for treating templates and macros as symbols. | Zahary Karadjov | 2018-05-07 | 1 | -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) | RSDuck | 2018-04-19 | 1 | -1/+5 |
| | | | | | | | | | | | | | | | | * fix hasCustomPragma/getCustomPragmaVal for types without pragma * fix pragma on pointer test * removed trailing spaces | ||||
| * | Fixes #7595 (#7623) | Dmitry Atamanov | 2018-04-16 | 1 | -7/+6 |
| | | | | | | | | | | | | | | | | * Fixes #7595 * Add brackets * Fix for treeRepr and lispRepr too | ||||
| * | update macros.nim: followup on pull #7598 (#7619) | Timothee Cour | 2018-04-16 | 1 | -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öring | 2018-04-15 | 1 | -32/+51 |
| | | | | | | | | | | | | * Strutils comment changes. * fix typo |