summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Support thread-local variables declared inside procs; fixes #7565Zahary Karadjov2018-05-071-1/+1
|
* Backwards-compatible support for keyword arguments in the command syntaxZahary Karadjov2018-05-071-4/+13
|
* Bugfix: Allow matching on nkExprEqExpr against varargs[untyped]Zahary Karadjov2018-05-071-1/+2
| | | | | | | | | This enables macros accepting arbitrary keyword arguments: log("foo", prop1 = "bar", prop2 = "baz") As an added bonus, simple templates with varargs arguments can now forward their params to procs accepting keyword arguments.
* A motivating example for the new `bindSym` behavior.Zahary Karadjov2018-05-074-1/+6
| | | | | | | | The example is a proof-of-concept logging library, allowing you to define lexically-scoped environments where certain logging attributes are applied automatically to all logging statements. fixes tmacro1 (use of `bindSym` inside static blocks)
* Better support for treating templates and macros as symbols.Zahary Karadjov2018-05-075-7/+28
| | | | | | | | | | | | | | | | | | | 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.
* pretty, prettybase: simplify relative paths (#7779)alaviss2018-05-072-2/+2
| | | This allows nimble to be built with compiler as a nimble package
* fixes #7757Andreas Rumpf2018-05-061-0/+1
|
* fixes #7774 (#7783)alaviss2018-05-061-1/+3
|
* fixes #7743Andreas Rumpf2018-05-061-1/+1
|
* Merge branch 'devel' into araq-parser-fixesAndreas Rumpf2018-05-063-17/+24
|\
| * Disable setTerminate when noCppExceptions is defined (#7751)Emery Hemingway2018-05-041-1/+1
| |
| * Fix filter_tmpl errors (#7763)Dmitry Atamanov2018-05-041-12/+15
| |
| * Merge pull request #7714 from data-man/show_compile_timestampsDominik Picheta2018-05-031-4/+8
| |\ | | | | | | Compiler: show compile timestamps
| | * Compiler: show compile timestampsdata-man2018-04-281-4/+8
| | |
* | | make Nimble not crash after the refactoringAndreas Rumpf2018-05-051-1/+2
| | |
* | | compiler refactoring, pass config around explicitlyAndreas Rumpf2018-05-0517-1879/+93
| | |
* | | compiler/msgs.nim: minor code cleanupAndreas Rumpf2018-05-051-105/+105
| | |
* | | warn about inconsistent spacing around binary operators; fixes #7582Andreas Rumpf2018-05-056-12/+10
| | |
* | | fixes #7582Andreas Rumpf2018-05-051-2/+3
|/ /
* | compiler: code cleanupAndreas Rumpf2018-05-021-3/+2
| |
* | remove the deprecated 'nil' statementAndreas Rumpf2018-05-021-18/+11
| |
* | make 'not nil' experimentalAndreas Rumpf2018-05-023-1/+5
| |
* | Don't hide overflow/underflow/divbyzero in semfold (#7732)Oscar Nihlgård2018-05-022-32/+76
| | | | | | | | | | * firstOrd/lastOrd bugfix * Don't hide overflow/underflow/divbyzero in semfold
* | fixes #7730, fixes #7746Araq2018-05-021-2/+2
| |
* | Fix renderer's errors (#7742)Dmitry Atamanov2018-05-012-6/+9
| | | | | | | | | | | | | | | | * Fix renderer's errors * Same for filter_tmpl * var -> let
* | introduce --laxStrings:on switchAraq2018-04-301-1/+1
| |
* | Merge branch 'araq-strings-v1' into develAraq2018-04-304-5/+15
|\ \
| * | make msgs.nim more robustAndreas Rumpf2018-04-301-0/+4
| | |
| * | commands.nim: use let instead of varAndreas Rumpf2018-04-301-2/+2
| | |
| * | make the build more robustAndreas Rumpf2018-04-302-3/+9
| | |
* | | introduce --laxstrings switch for backwards compatibilityAraq2018-04-302-1/+3
|/ /
* | the compiler does not rely on the zero terminator anymoreAndreas Rumpf2018-04-293-14/+13
| |
* | renderer.nim: bugfixAndreas Rumpf2018-04-291-0/+1
| |
* | strutils: code cleanups and do not rely on the terminating binary zero anymoreAndreas Rumpf2018-04-281-8/+7
| |
* | sigmatch: speed it upAndreas Rumpf2018-04-282-20/+19
| |
* | minor speedup: concept tests still greenAndreas Rumpf2018-04-283-14/+15
| |
* | stuff that is greenAndreas Rumpf2018-04-283-23/+37
| |
* | correct comparisons for nil strings/seqsAndreas Rumpf2018-04-283-9/+8
|/
* make tests greenAndreas Rumpf2018-04-282-2/+2
|
* string to cstring conversions produce the empty C string for nil; this will ↵Andreas Rumpf2018-04-282-5/+5
| | | | be consistent with alternative string implementations
* codegen: support nil strings/seqs in more placesAndreas Rumpf2018-04-281-5/+5
|
* fixes #7663Andreas Rumpf2018-04-281-7/+8
|
* semcheck: code cleanupsAndreas Rumpf2018-04-283-55/+5
|
* remove standalone 'except' and 'finally' statements that have been ↵Andreas Rumpf2018-04-281-72/+38
| | | | deprecated for years
* fixes #7601, array construction of ptr generics (#7671)andri lim2018-04-271-2/+3
| | | | | | * fixes #7601, array construction of ptr generics * add more test
* Fix the return value of GetType and friends when given a `var T` type. (#7701)Varriount2018-04-271-1/+6
|
* nil in string concats does not produce crashes anymoreAndreas Rumpf2018-04-271-1/+1
|
* make nimfix compile again (#7708)alaviss2018-04-271-7/+7
|
* setLen doesn't crash on nil strings/seqs anymoreAndreas Rumpf2018-04-271-3/+3
|
* 'add' on a nil sequence doesn't produce a crash anymoreAndreas Rumpf2018-04-271-4/+4
|