Commit Graph

3640 Commits

Author SHA1 Message Date
Andreas Rumpf
2ad9a16e0a fixes anon procs created by macros 2017-07-11 18:07:34 +02:00
Andreas Rumpf
76cf4f4c1b parser enhancement: allow keywords after dots 2017-07-11 00:54:47 +02:00
Andreas Rumpf
5932ad9ae8 fixes a JS codegen regression 2017-07-10 16:40:23 +02:00
Andreas Rumpf
c1d061bb5a fixes #4898 2017-07-09 13:29:44 +02:00
Andreas Rumpf
674db58a24 fixes #5608 2017-07-09 12:03:50 +02:00
Andreas Rumpf
b6307dded3 fixes #6037 2017-07-09 00:45:14 +02:00
Andreas Rumpf
440d100595 fixes #6067 2017-07-08 23:32:40 +02:00
Andreas Rumpf
e641bc7df0 minor code cleanup 2017-07-08 21:27:56 +02:00
Mathijs Saey
f8266c7376 Fixes #6008 (#6068) 2017-07-08 07:31:53 +02:00
Andreas Rumpf
ee43fc82d5 bugfix: keep the information of a raw float literal in the AST 2017-07-06 13:52:21 +02:00
Andreas Rumpf
82175b43bb do not crash for #5895 2017-07-06 13:52:21 +02:00
ephja
9e12db4459 fixes #6030 (#6042) 2017-07-01 09:56:20 +02:00
Araq
4de989d1c5 fixes #6035 2017-06-30 12:01:51 +02:00
Andreas Rumpf
d9d61fbeb4 fixes #5517 2017-06-30 00:43:19 +02:00
Andreas Rumpf
ac63a99892 fixes #5974 2017-06-29 20:25:42 +02:00
Andreas Rumpf
6f29041f09 fixes #5563 2017-06-29 18:48:24 +02:00
Andreas Rumpf
5d6c2f89de fixes #4703 2017-06-29 18:37:53 +02:00
Andreas Rumpf
d66a920447 fixes #5846 2017-06-29 18:16:00 +02:00
Yuriy Glukhov
baf685461b Fixes #5946 (#6017) 2017-06-26 21:31:56 +02:00
Andreas Rumpf
326e8fdc2f JS gen: fixes regression 2017-06-26 08:49:52 +02:00
Zahary Karadjov
90e82f8ecf Fix #5084 2017-06-20 11:29:42 +02:00
Zahary Karadjov
07d50cedf0 Fix #5983 2017-06-20 11:29:42 +02:00
Zahary Karadjov
21ce7b2af4 Fix #5888 2017-06-20 11:29:42 +02:00
Zahary Karadjov
a6006e56a7 Fix #4737 2017-06-20 11:29:42 +02:00
Zahary Karadjov
16eb4b1fee Fix #5127 2017-06-20 11:29:42 +02:00
Zahary Karadjov
8f4b374327 Fix #4020; Better handling of templates within concepts 2017-06-20 11:29:42 +02:00
Zahary Karadjov
b199c5af4e fix #5968 2017-06-20 11:29:42 +02:00
Zahary Karadjov
24966e006a fix #1082 2017-06-20 11:29:42 +02:00
Zahary Karadjov
367d232351 fix #1017; fix #3309 2017-06-20 11:29:42 +02:00
Zahary Karadjov
ba61e7e3ac fix #2730; fix #4880 2017-06-20 11:29:42 +02:00
Zahary Karadjov
9c6fe59b55 fix #5017; fix #5893 2017-06-20 11:29:42 +02:00
Zahary Karadjov
f713e730c8 fix #5864 2017-06-20 11:29:42 +02:00
Zahary Karadjov
dea6d8dd94 add a useful helper for debugging typeRel problems 2017-06-20 11:29:42 +02:00
Zahary Karadjov
f0999de9dc Fix #5962
During the instantiation of a generic type A, some other generic
type B may be instantiated multiple times with different parameters.
We can think about each instantiation as a function call that should
temporary bind the parameter names to concrete types. The problem
with the existing implementation in semtypinst was that it was
performing this binding within a shared global table. In this sense,
it was executing the code as a programming language featuring only
global variables. In such a language, re-entrant functions cannot be
defined properly and hence this was leading to problems with similar
types. The solution is simple - just like we need to introduce stack
frames to handle re-entrant functions, we introduce a stack of type
bindings that are pushed and popped during the generic instantiations.
2017-06-20 11:29:42 +02:00
Zahary Karadjov
cd02561368 introduce a pre-processing pass for the concept bodies
fixes #4982
fixes #3805

close #3414
2017-06-20 11:29:42 +02:00
Zahary Karadjov
30ccadfe4c fix #5890 2017-06-20 11:29:42 +02:00
Yuriy Glukhov
58eae1171d Fixes #5995 2017-06-18 00:57:05 +03:00
Markus F.X.J. Oberhumer
a0f39e0ab4 Ascii character code 127 (DEL) is not printable and must be quoted. (#5984)
This is a follow-up to #5823.
2017-06-15 20:42:23 +02:00
Andreas Rumpf
f540a3683f Merge branch 'devel' of github.com:nim-lang/Nim into devel 2017-06-13 13:51:41 +02:00
Andreas Rumpf
91a3cb67ec fixes #5824 2017-06-13 13:51:33 +02:00
Markus F.X.J. Oberhumer
963679389c cgen: #undef some more predefined symbols. (#5831)
This is a followup to issue #5171.
2017-06-13 10:12:23 +02:00
Araq
0f3e1f17e9 fixes #5959 2017-06-09 14:14:47 +02:00
Araq
4033929127 fixes tproctypecache_falsepositive.nim test case 2017-06-08 18:35:37 +02:00
Parashurama
bbf9ef606d restrict casting for closure. (#5948); fixes #5742
* restrict casting for closure.

This commit forbid casting a closure to anything other than another
closure. use rawEnv/rawProc to access underlaying pointers.

* better error message for closure cast
* fixes #5742
2017-06-07 08:52:50 +02:00
Parashurama
f603e1b268 fix logical right shift in VM. (#5916) 2017-06-05 17:25:04 +02:00
Andreas Rumpf
55c244400d .partial object field names are left unmangled; mangling should be done by the macro instead 2017-06-05 10:30:24 +02:00
Andreas Rumpf
c59bc0cc18 first steps to allow easy functors via macros 2017-06-04 11:17:41 +02:00
Andreas Rumpf
42c9bb3ace fixes #5933 2017-06-03 21:08:32 +02:00
Andreas Rumpf
d1f5e3b110 fixes #4139 2017-06-03 14:30:16 +02:00
zah
39aef12446 review and merge zahary's work (#5849)
* proper indentation for the generated JS code
* improved dead-code elimination for JavaScript
* test the JS dead-code elimination

A new test spec has been added - "maxcodesize". It specifies the
maximum size of the generated code in bytes.
2017-06-03 12:45:10 +02:00