summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* fixes #7906, array and openarray arg vs. ptr/ref generic (#7909)andri lim2018-06-042-4/+6
| | | | | | * fixes #7906, array and openarray arg vs. ptr/ref generic * add comment
* Fix for newStringOfCap in VM (#7901)Oscar Nihlgård2018-06-041-1/+2
|
* Wait until the end to print hint Conf (#7931)WhiteDuke2018-06-041-7/+18
|
* Support multi byte characters in module names (#7916)Oscar Nihlgård2018-05-311-1/+1
|
* fixes #7818, correct internal representation of generic objects array ↵andri lim2018-05-292-3/+7
| | | | | | | construction (#7824) * defer skiptypes * defer skiptypes for tyRef & tyPtr * remove unneeded skipTypes
* fix #7883; fix #7829Zahary Karadjov2018-05-263-8/+10
|
* Use new binarySearch everywhere (#7876)Dmitry Atamanov2018-05-251-14/+0
|
* fixes filter bug for empty linesdata-man2018-05-221-14/+10
|
* fixes #7696, add ConfigRef.arguments initialization (#7858)andri lim2018-05-221-1/+2
|
* fixes #7855data-man2018-05-211-1/+1
|
* fixes yet another indexing bug caused by the strict stringsAraq2018-05-211-1/+1
|
* Fix typo in "out of bounds" error messagecoffeepots2018-05-181-1/+1
|
* Allow better optimisations by removing NOINLINE from module init procsYuriy Glukhov2018-05-161-4/+4
|
* documentation generator works againAndreas Rumpf2018-05-152-9/+9
|
* make tests green on UnixAndreas Rumpf2018-05-152-5/+6
|
* make tests green againAraq2018-05-149-16/+16
|
* fixes testament compilationAraq2018-05-1417-37/+107
|\
| * VM fix for refsOscar Nihlgård2018-05-081-2/+8
| |
| * implement the export/except statementZahary Karadjov2018-05-072-7/+29
| |
| * Bugfix: The compiler were not inserting proper downcasts for generic typesZahary Karadjov2018-05-072-3/+4
| | | | | | | | | | | | | | This resulted in a codegen error in C++ mode, because the generic types were not defined in modules where calls requiring downcasts were used (generating a downcast forces the inclusion of the full definition of the involved types).
| * fix a compiler crash related to the new strings in C++ modeZahary Karadjov2018-05-072-9/+9
| |
| * 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
* | options.nim: no global variables anymoreAndreas Rumpf2018-05-1346-507/+509
| |
* | move more globals into the config objectAndreas Rumpf2018-05-136-93/+101
| |
* | make nimsuggest compile againAndreas Rumpf2018-05-136-20/+20
| |
* | bootstrapping worksAndreas Rumpf2018-05-131-1/+1
| |
* | compiler compiles again; simple programs do workAndreas Rumpf2018-05-134-158/+152
| |
* | the remaining passes all compile againAndreas Rumpf2018-05-138-117/+129
| |
* | C code generator compiles againAndreas Rumpf2018-05-1211-202/+208
| |
* | sem pass compiles againAndreas Rumpf2018-05-1212-263/+269
| |
* | semstmts compiles againAndreas Rumpf2018-05-126-198/+192
| |
* | more modules compile againAndreas Rumpf2018-05-1215-518/+544
| |
* | more modules compile againAndreas Rumpf2018-05-1212-235/+259
| |
* | transf and vmgen compile againAndreas Rumpf2018-05-129-223/+234
| |
* | lambda lifting compiles againAndreas Rumpf2018-05-123-149/+154
| |
* | pragmas compiles againAndreas Rumpf2018-05-115-269/+272
| |
* | sigmatch compiles againAndreas Rumpf2018-05-113-61/+63
| |
* | docgen compiles againAndreas Rumpf2018-05-111-62/+67
| |
* | move more global variables into ConfigRefAndreas Rumpf2018-05-1111-101/+109
| |
* | avoid more global variablesAndreas Rumpf2018-05-119-62/+80
| |
* | sempass2 compiles againAndreas Rumpf2018-05-113-81/+85
| |
* | guards.nim does compileAndreas Rumpf2018-05-1113-230/+241
| |
* | lookups compiles againAndreas Rumpf2018-05-103-81/+80
| |
* | semfold compiles againAndreas Rumpf2018-05-102-250/+252
| |
* | big refactoring: mores stuff compilesAndreas Rumpf2018-05-106-99/+82
| |