Commit Graph

2873 Commits

Author SHA1 Message Date
Andreas Rumpf
e273ef4f5e Merge pull request #7992 from yglukhov/fromSockAddr-compile-error
Fixed compilation error when Sockaddr_in4 or Sockaddr_in6 passed to fromSockAddr
2018-06-08 13:38:39 +02:00
Yuriy Glukhov
b2323de914 Fixed compilation error when Sockaddr_in4 or Sockaddr_in6 passed to fromSockAddr 2018-06-07 21:10:00 +03:00
Yuriy Glukhov
60b9c9dc1f Fixes #7985 2018-06-07 19:14:14 +03:00
data-man
cc63351a5a Updated tests for CritBitTree $ 2018-06-07 18:49:59 +03:00
Yuriy Glukhov
ec1d42b9f0 Cleanup copypaste leftover 2018-06-07 15:28:41 +03:00
Yuriy Glukhov
fef60716bf Fixed yield in nkBlockExpr 2018-06-07 00:15:46 +03:00
Andreas Rumpf
bf394ed1a1 Merge pull request #7550 from jangko/fix4799
fixes #4799, varargs now can accept polymorphic types
2018-06-06 22:04:54 +02:00
Yuriy Glukhov
511d7079a1 Fixed tests 2018-06-06 20:04:37 +03:00
andri lim
4262a85653 fixed wrong test 2018-06-06 22:29:31 +07:00
Yuriy Glukhov
0ec2b33c50 Fixed yield in dotExpr and nkOfBranch lowering. Closes #7969. 2018-06-06 16:35:40 +03:00
Andreas Rumpf
e957d369b1 Merge pull request #7907 from GULPF/lexer-unicode-fix
Lexer fix for multi byte characters
2018-06-06 11:42:59 +02:00
Andreas Rumpf
1593b9cac4 Merge pull request #7967 from nitely/empty_openarray_7904
support empty toOpenArray
2018-06-06 11:06:57 +02:00
nitely
7297195f9f test negative range array 2018-06-06 02:22:33 -03:00
nitely
ba39f359aa check bounds instead of index 2018-06-05 20:22:27 -03:00
Oscar Nihlgård
c69b88688f Combine some of the lexer tests into a single file 2018-06-05 21:05:13 +02:00
Andreas Rumpf
3cbc07ac78 Merge pull request #7770 from yglukhov/yield-in-try
Yield in try
2018-06-05 19:58:00 +02:00
andri lim
436c122956 combine/reduce test 2018-06-05 22:16:53 +07:00
andri lim
8063ecbb8f fix test case output 2018-06-05 16:54:01 +07:00
skilchen
230692a22f Fix strformat neg zero (#7954)
* fix strformat handling of neg zero with sign

* better tests for neg zero with sign

* use inplace insertion of the sign as suggested by Varriount
2018-06-05 00:09:07 -04:00
andri lim
80107b360c add more test to 4799 2018-06-05 09:18:20 +07:00
skilchen
fd102f39bb Fix strformat precision handling for strings (#7941)
* fix strformat precision handling for strings

* add some limited unicode awareness to the precision handling for strings

* improvement suggested by Varriount: use setLen and runeOffset instead of runeSubstr
2018-06-04 18:26:16 -04:00
andri lim
069a53ad4b fixes #7906, array and openarray arg vs. ptr/ref generic (#7909)
* fixes #7906, array and openarray arg vs. ptr/ref generic

* add comment
2018-06-04 17:43:15 +02:00
Oscar Nihlgård
05b447374b Use higher time resolution when available in os.nim (#7709) 2018-06-04 14:56:56 +02:00
Oscar Nihlgård
440212a154 Fix for newStringOfCap in VM (#7901) 2018-06-04 13:38:26 +02:00
Oscar Nihlgård
fd28236368 Multi byte characters should not be treated as part of an operator 2018-06-03 09:05:50 +02:00
skilchen
07ff9940f4 fix strformat zeropadding for floats (#7934) 2018-06-01 22:23:50 -04:00
data-man
b4626a220b Added $ for openarrays. Fixes #7940. 2018-06-01 21:28:23 +03:00
Oscar Nihlgård
eb8f15d97c Support multi byte characters in module names (#7916) 2018-05-31 10:38:43 +03:00
andri lim
25a41d5d90 fixes #7818, correct internal representation of generic objects array construction (#7824)
* defer skiptypes
* defer skiptypes for tyRef & tyPtr
* remove unneeded skipTypes
2018-05-29 09:38:52 +02:00
七秒不觉梦
b6b6382e0b Added: type name output when exception raised from unittest (#7869) 2018-05-28 05:24:04 +03:00
Zahary Karadjov
1c478db375 fix #7883; fix #7829 2018-05-26 20:46:22 +03:00
Andreas Rumpf
c0024fa587 fixes channels for --gc:regions 2018-05-25 16:21:33 +02:00
Yuriy Glukhov
cfe40a3e6e Merge branch 'devel' into yield-in-try 2018-05-15 19:54:52 +03:00
Araq
02b78d3f94 make tests green again 2018-05-14 21:38:18 +02:00
Yuriy Glukhov
5d166fcc0a Review comments addressed. More thorough line info tracking. 2018-05-10 00:27:50 +03:00
Yuriy Glukhov
14ca79fe1f More elaborate nkStmtListExpr lowering 2018-05-09 22:25:28 +03:00
Yuriy Glukhov
ce63490928 Yield in try 2018-05-09 22:25:28 +03:00
Yuriy Glukhov
7d38db284b Extended tasync_in_seq_constr test 2018-05-09 22:25:27 +03:00
Yuriy Glukhov
d71f69ab50 Closure iter transformation 2018-05-09 22:25:27 +03:00
Lolo Iccl
af591544c5 Modify hash for HashSet to use xor to mix hash of items. 2018-05-09 17:41:41 +02:00
Lolo Iccl
5c7b66e07a Modify previous commit and add tests 2018-05-09 17:41:41 +02:00
Oscar Nihlgård
7cf87dfac6 VM fix for refs 2018-05-08 17:00:00 +02:00
Zahary Karadjov
cf13c5fba4 implement the export/except statement 2018-05-07 09:37:49 +02:00
Zahary Karadjov
7297613900 Bugfix: The compiler were not inserting proper downcasts for generic types
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).
2018-05-07 09:37:49 +02:00
Zahary Karadjov
ae5c946a32 Support thread-local variables declared inside procs; fixes #7565 2018-05-07 09:37:49 +02:00
Zahary Karadjov
b0d85b0adf Backwards-compatible support for keyword arguments in the command syntax 2018-05-07 09:37:49 +02:00
Zahary Karadjov
e678a4285d Bugfix: Allow matching on nkExprEqExpr against varargs[untyped]
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.
2018-05-07 09:37:49 +02:00
Zahary Karadjov
2b8bf8fc4a A motivating example for the new bindSym behavior.
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)
2018-05-07 09:37:49 +02:00
Zahary Karadjov
bdcb729597 Better support for treating templates and macros as symbols.
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.
2018-05-07 09:37:49 +02:00
Andreas Rumpf
700a2e125b make the tester compile without warnings 2018-05-06 09:00:55 +02:00