Commit Graph

3103 Commits

Author SHA1 Message Date
Andreas Rumpf
9309f8101d new-ll: further progress (bootstrapping still fails) 2015-12-27 00:17:48 +01:00
Andreas Rumpf
7dc0bca53a up references might work; got rid of debugging code 2015-12-26 01:26:12 +01:00
Andreas Rumpf
c1627354d1 first implementation of the new lambda-lifting pass; barely anything works 2015-12-26 00:42:30 +01:00
Yuriy Glukhov
936265df72 Fixed lineinfo in getType 2015-12-25 01:03:15 +02:00
trustable-code
3c557a0144 fix issue #3550 2015-12-24 00:07:03 +01:00
Andreas Rumpf
86bb9d8b47 Merge pull request #3651 from jangko/vm_'excl'
fixed compile time `excl ` cause SIGSEGV #3639
2015-12-21 00:40:24 +01:00
Andreas Rumpf
17a78f4f8d Merge pull request #3654 from jangko/vm_uinttouint64conv
fixed #2514 unable to echo uint8-32 at compile time
2015-12-21 00:37:48 +01:00
Hans Raaf
5a028b3956 Fix regression in set.excl code generation. 2015-12-21 00:35:20 +01:00
jangko
26d02c9120 fixed VM touint conversion #2514 2015-12-19 12:53:51 +07:00
jangko
60a400eeb0 fixed compile time excl cause SIGSEGV #3639 2015-12-17 10:14:48 +07:00
Andreas Rumpf
bd8e89774e fixes a critical bug concerning a[^1] rewritings 2015-12-14 18:40:58 +01:00
Andreas Rumpf
5c0ffa6613 fixes #3622 2015-12-04 23:43:03 +01:00
Andreas Rumpf
6818304e01 Merge pull request #3530 from rbehrends/fix-setop-shifts
Avoid signed shifts and bit operations for sets.
2015-12-03 19:52:00 +01:00
Araq
760242b870 removes 'x is iterator' special casing in the language 2015-12-03 01:08:03 +01:00
Araq
50e83d6433 fixes tlocals regression 2015-12-03 01:08:03 +01:00
Andreas Rumpf
59d1bc73a0 Merge pull request #3605 from ephja/echo-flush
flush after printing
2015-12-01 21:14:17 +01:00
Araq
217e0ab6e9 lambda lifting support for iterToProc plugin 2015-12-01 00:53:30 +01:00
Araq
5de900b456 added iterToProc plugin 2015-12-01 00:53:30 +01:00
Araq
6361f6b76d --gc:v2 requires global root tracking 2015-12-01 00:53:30 +01:00
Erik Johansson Andersson
61086b8e59 flush after printing 2015-11-28 21:21:42 +01:00
Araq
85345d2d34 fixes #3222 2015-11-26 17:46:05 +01:00
Araq
45dfd445da fixes #2285 2015-11-26 17:46:05 +01:00
Araq
5fe71db6d9 'out T' is an alias for 'var T' 2015-11-26 17:46:05 +01:00
Araq
25e2e3faec 'importc' allows 'not nil' annotation 2015-11-26 17:46:05 +01:00
Araq
a2480efd68 allow 'nil ref T' as a first step which does nothing 2015-11-26 17:46:05 +01:00
Yuriy Glukhov
0d5b9afb08 Fixed JS codegen for distinct types 2015-11-23 21:14:15 +02:00
Anatoly Galiulin
98723925d8 Fixed SIGSEGV on wrong slurp usage 2015-11-23 13:18:05 +05:00
Araq
1757b8466d fixes #3546 2015-11-18 14:42:13 +01:00
Araq
528cf3eae4 better error handling for bug #3550 2015-11-18 13:32:16 +01:00
Araq
698b1fc954 fixes #3550 2015-11-18 12:33:09 +01:00
Araq
aad4ed776b allows macros to access documentation comments 2015-11-18 12:33:09 +01:00
Araq
edb495a6b3 fixes a critical error handling bug for nimsuggest 2015-11-18 12:33:09 +01:00
Reimer Behrends
67e62302b4 Avoid signed shifts and bit operations for sets.
Set operations used "1<<n" style shifts, which led to undefined
behavior if the signed shift overflowed. Similarly, the right-hand
side of the operator sometimes used a mix of signed and unsigned
integers that were combined with "&". This patch attempts to provide
a consistent implementation that uses unsigned integers everywhere.
2015-11-11 14:19:09 +01:00
Araq
2aff716134 os.walkDir is available at compile time 2015-11-10 15:31:21 +01:00
Araq
81f876040b added newTree to ast.nim 2015-11-10 15:31:21 +01:00
Dominik Picheta
c83e4390d8 Modified setDefaultLibpath to search using findExe"nim".
This is so that Nimble (and other tools) which use the compiler modules
for nimscript support or other purposes can find $lib.
2015-11-07 15:48:14 +00:00
Araq
ae60f4ae76 better nimsuggest support 2015-11-03 14:52:37 +01:00
Araq
86c8a7a947 nimrod is obsolete 2015-11-03 14:52:36 +01:00
Araq
1dda0e4b84 fixes a critical xlen codegen bug 2015-11-03 14:52:34 +01:00
Victor Korkin
e4a3f9fa4b Install stdlib.nimble in lib
Without stdlib.nimble in libs directory Nimscript is not work properly.
2015-11-02 12:48:19 +06:00
Araq
d673fb3911 nimsuggest: added 'chk', 'outline' and 'highlight' features 2015-11-01 23:26:31 +01:00
Adam Strzelecki
f838c1baa4 fixes #3498
Previously it was not possible to use template arguments in template body as
the symbols were not resolved correctly leading to Error: undeclared
identifier: 'XX', eg.:

   template defaultOf[T](t: T): expr = (var d: T; d)
   echo defaultOf(1) #<- invalid identifier, but should output 0
2015-10-30 12:05:02 +01:00
Araq
22fc9a9470 development version is 0.12.1, not 0.12.0 2015-10-29 23:33:27 +01:00
Adam Strzelecki
47e45dee7e fixes #3496
The problem comes from the fact that macroOrTmpl[...] is transformed by
semSubscript which is trying to evaluate macroOrTmpl identifier in place. This
is okay for non-generic macros or templates, but wrong for generic ones, that
do not have a chance to receive their generic arguments explicitly specified in
brackets.

Solution:

1. macroOrTmpl[...] where macroOrTmpl is non-generic macro or template, then
   macroOrTmpl is evaluated before applying brackets. (as before)

2. macroOrTmpl[...] where macroOrTmpl is generic macro or template, then if:

   a. It comes from macroOrTmpl[...](...) call expr (efInCall), then macroOrTmpl
      is turned into a symbol (efNoEvaluate) rather than evaluating it in place,
      then whole bracket expr is returned to semIndirectOp which transforms it
      to proper generic macro or template call with explicit generic arguments.

   b. macroOrTmpl[...] does not come from call expr, as above macroOrTmpl is
      transformed to symbol, then it is transformed into proper generic macro or
      template call with explicit generic arguments and no normal arguments.
2015-10-29 23:10:45 +01:00
Araq
86e2d6ee90 fixes #3476 2015-10-27 08:37:56 +01:00
Araq
aa36e73ecf fixes #3431, fixes #3370, fixes #3468 2015-10-25 02:22:50 +01:00
Araq
cd7b5ae1eb fixes #1799 properly 2015-10-25 02:35:18 +02:00
Araq
5206c310e6 fixes #1799 2015-10-25 01:26:08 +02:00
Adam Strzelecki
24731c5360 compiler/commands: Always write usage to stdout
Usage is compiler command output, not diagnostics, so we shall output it to
stdout. Also this makes: nim -h | less or nim -h | grep ... working.
2015-10-22 22:14:45 +02:00
Adam Strzelecki
acb6a36656 msgs: One msgWriteln with optional flags
Instead of msgWriteln, outWriteln and stdoutWriteln doing essentially the same.
2015-10-22 22:09:15 +02:00